Java 基础学习 day01
2019-08-16 11:49:40来源:博客园 阅读 ()
Java 基础学习 day01
-------Java 学习 day01-------
java的三大技术架构
Javase:java标准版,该体系的知识点主要是学习java基础的知识点, 主要用于桌面应用软件的开发。比如计算器,QQ软件等。==市场上几乎没有人使用java去开发桌面应用程序,因为java在创立的时候定位该门语言是面向互联网的一门语言。Java的图形化界面非常丑
Javaee:java企业版,基于javase的企业级应用的开发。比如淘宝,京东,ERP系统等。
Javame(已经被淘汰):java微型版,应用于移动设备和电子类产品的嵌入式开发。比如手机游戏,手机软件等。 Android使用java语言去开发。
-什么是java跨平台?
通过java语言编写的应用程序可以在不同的操作系统上直接运行。具有一次编译,到处运行的特点。
java如何实现跨平台?
a.通过JVM实现java语言跨平台
b.在运行java程序的操作系统上,安装对应的JVM虚拟机,实现java语言跨平台
面试题:java语言编写出来的软件是否跨平台? Jvm是否跨平台?
跨平台,jvm全称java虚拟机, java虚拟机的作用就是用于解析class文件的。 Jvm不跨平台。
--------2--------
什么是jvm、什么是jre, 什么是JDK ? JVM、JRE、JDK三者之间的关系?
JVM:Java虚拟机,jvm的作用负责解析运行class文件,保证java程序跨平台。(Java Virtual Machine)
JRE:(Java Runtime Environment) Java运行环境,包含JVM和核心类库。如果只是想运行java程序,只要安装JRE即可。
JDK:Java开发工具包,包含JRE和开发工具。如果程序员想要开发java程序,需要安装JDK环境。
开发工具包括:编译工具javac.exe ,运行工具java.exe 等。
小结
jvm: java虚拟机负责解析运行class文件。
Jre: jre=jvm+核心类库 。 Java运行环境,负责运行java的程序
Jdk: jdk = jre+ 开发工具
JVM、JRE、JDK三者之间的关系?
Jre=jvm+核心类库
Jdk = jre+ 开发工具
--------03--------
Path环境变量的配置
为什么要配置path环境变量?
a 为了在任意文件下能使用JDK的bin目录下开发工具
配置步骤?
1、此电脑--->属性--->高级系统设置--->高级--->环境变量==
2、新建系统变量
b1变量名:JAVA_HOME
b2变量值:JDK的安装目录(到bin目录的上一层)
3、将 %JAVA_HOME%\bin 添加到Path变量中。 %环境变量名% 引用某指定的环境变量
4、打开DOS系统,输入javac,验证是否配置成功。
理解配置环境变量的意义
a 让控制台在任意目录下都可以使用java的开发工具。
疑问: 为什么配置了path环境变量之后就可以在任意目录下去使用java的开发工具了呢?
a 当我们在控制台输入java命令的时候, Windows系统首先会在当前目录下去搜索是否有java.exe 的开发工具,如果找到直接执行,如果没有搜索到那么就会根据path环境变量配置的路径下去搜索是否有对应的可执行程序。如果有直接执行,如果还没有直接报错。
--------04--------
HelloWorld 案例
A Java程序开发运行流程?
编写代码:编写.java后缀的源文件
编译代码:将.java文件编译成.class后缀的字节码文件
运行程序:使用 java工具运行编译好的字节码文件
编译: javac 文件名.java
运行: java class文件名
Helloworld代码
Public class helloworld {
Public static void main(String[] args) {
System.out.println("helloworld");
}
}
Java程序运行的流程?
编写java 的源代码
编译 javac java的源文件
运行 java class文件
编译与运行分别使用哪个工具
编译 javac java的源文件
运行 java class文件
独立编写并运行helloworld案例?
--------05--------
helloworld案例常见问题
1)、中文符号问题。(java中的符号都是英文的)
2)、单词大小写问题。(java是区分大小写的)
3)、文件扩展名问题。(java源文件扩展名为.java)
4)、程序主方法main书写问题。(main为程序的主入口,单词不能写错)
5)、文件名和类名不一致问题。(public限制java文件名和类名要一致)
Notepad++编码设置
设置 --> 首选项 --> 新建,格式选择Windows,编码选择ANSI。
--------06--------
注释
注释的作用?
对代码进行解释说明,便于开发人员理解和维护代码。
注释不会被程序编译和运行。
注释的分类?
单行注释 //
多行注释 /* */
文档注释 /** */
Java程序中最基本的组成单位是类。
类的定义格式:
Public class 类名 {
}
这是我定义的helloworld类
*/
Public class helloworld {
/*
这是main方法
Main方法是程序的入口方法,代码的执行是从main方法开始的
*/
Public static void main(String[] args) {
// 这是输出语句,""里面的内容是可以改变的
System.out.println("itheima");
}
}
--------07--------
关键字
什么是关键字?
在java语言中有特殊意义的单词。
Java关键字的特点?
英文字母,全部小写。
在高级开发工具中,关键字会有特殊的颜色标记。
Java中的关键字
Goto和const是java中的预留关键字。
关键字的作用是什么?
在java程序中有着特殊含义的单词称作为关键字。 比如: class 定义类 public 公共的,所有人都可以访问。
学习关键字的方法?
千万不要死记硬背, 后期的程序会慢慢接触到每一个关键字,然后知道关键字的作用即可。
--------08--------
常量
什么是常量?
在程序运行过程中,其【值不可以发生改变】的量。
常量的分类
a字符串常量:使用双引号 "" 括起来的0到多个字符。 "java" , "" , " " , "A"
b字符常量:使用单引号 '' 括起来的【单个】字符。 'A' , '0' ,'我'
c整数常量:正负整数 10 -20
d小数常量:带小数点的数字 -3.14 5.12
e布尔常量:表示真或假,只有true或false两个值。
f空常量:值为null,不能使用输出语句直接输出。
代码
Public class constantdemo{
Public static void main(String[] args){
//字符串常量
System.out.println("");
System.out.println(" ");
System.out.println("1");
System.out.println("字符串常量");
System.out.println("---------------");
//字符常量(字符常量只能是单个字符,不能多个,也不能没有)
System.out.println('1');
System.out.println('A');
System.out.println('中');
//System.out.println('10'); 引发编译错误
//System.out.println(''); 引发编译错误
System.out.println(' ');
System.out.println("---------------");
//布尔常量
System.out.println(true);
System.out.println(false);
System.out.println(10>20); //fasle
//空常量 null 不能直接输出
//System.out.println(null); 引发编译错误
}
}:
--------小结--------
什么是常量?
a在程序运行过程中其值不能改变的量称作为常量。
常量的类型?
字符串常量 ""双引号引起来
整数常量 比如: 123
小数常量: 比如: 3.14
字符常量 是使用单引号括起来的, 并且只能出现一个字符。 比如: ‘a’
布尔常量 只有两个值,真(true)与假 (false)
Null常量 学习到对象的时候才会去使用的。
--------09--------
数据类型
Java数据类型分类?
基本数据类型:4型8种
引用数据类型:字符串,数组,类,接口 ,null
使用注意·
整数默认是int类型,浮点数默认是double类型。
定义long类型的数据的时候,需要加 L 或 l,建议加L。
定义float类型的数据的时候,需要加 F 或 f,建议加F。
【练习题】下面哪些是Java中的基本数据类型?(A,D,E)
A byte
B Byte
C String //字符串
D char
E long
--------小结--------
数据类型的作用?
用于申请内存空间的。 开辟对应的内存空间。
Java中基本数据类型的四型八种是哪个?
整数
Byte 1个字节
Short 2个字节
Int 4个字节
Long 8个字节
小数
Float 4个字节
Double 8个字节
字符
Char 2个字节
布尔
Boolean 1个字节
--------10--------
变量
什么是变量?
变量指程序运行过程中,其值在【一定范围内】会发生【变化】的量。
变量的定义格式?
数据类型 变量名 = 初始化值;
Int a = 10;
Double d = 12.5;
变量使用的注意事项?
变量可以定义时初始化,也可以先定义,使用前进行初始化。
Int a = 10;
Int b;
B =20;
System.out.println(b);
没有初始化的变量不能直接使用。
Int a;
System.out.println(a); //此处会报错,变量没有初始前不能直接使用
相同{}范围内,变量名不能重复。
Int a =10;
A = 20; //重新赋值
Int a = 20; //变量名重复,会编译报错
整数常量默认是int类型,定义long类型常量时需要加 L 或者l,建议加L。
Long b = 10000000000; //超出intd的范围,会编译报错,改成下面的方式,加L
Long b = 10000000000L;
Long a = 10L;
小数默认是double类型,定义float类型的时候需要在数字后面加F或者f,建议加F。
Float f = 3.14; //此处会编译报错,因为小数默认是double类型。
Float f = 3.14F;
一行代码上可以定义多个变量。(不推荐)
Int a=10,b=20;
变量的基本格式定义
/*
变量定义格式:
数据类型 变量名 = 变量值;
基本数据类型:
Byte,short,int,long,float,double,char,boolean
变量的使用:
取值格式:变量名
修改值格式:变量名 = 变量值;
*/
Public class variabledemo01 {
Public static void main(String[] args) {
//定义变量
Int a = 10;
//输出变量
System.out.println(a);
//修改变量
A = 20;
System.out.println(a);
}
}
变量要注意的事项
/*
变量使用的注意事项:
名字不能重复
变量未赋值,不能使用
Long类型的变量定义的时候,为了防止整数过大,后面要加L
Float类型的变量定义的时候,为了防止类型不兼容,后面要加F
*/
Public class variabledemo02 {
Public static void main(String[] args) {
//定义byte类型的变量
Byte b = 10;
System.out.println(b);
//定义short类型的变量
Short s = 100;
System.out.println(s);
//定义int类型的变量
Int i = 10000;
System.out.println(i);
//定义double类型的变量
Double d = 13.14;
System.out.println(d);
//定义char类型的变量
Char c = 'a';
System.out.println(c);
//定义boolean类型的变量
//boolean b = true;
//System.out.println(b);
Boolean bb = true;
System.out.println(bb);
System.out.println("--------");
//定义long类型的变量
Long l = 10000000000L;
System.out.println(l);
System.out.println("--------");
//定义float类型的变量
Float f = 13.14F;
System.out.println(f);
}
}
--------小结--------
变量的作用?
变量的作用就是向jvm申请对应的内存空间存储数据,在程序运行过程中其值可以发生改变。
变量的定义格式?
数据类型 变量名 = 数据;
==注意:以后我们存储数据的时候该如何选择数据类型呢?==
先明确你当前存储的数据是什么类型。
然后再根据对应的范围大小去选择。 但是这点是理论。 在实际开发中基本如果是i整数统一都使用int类型,如果是小数我们都使用double类型。
变量在使用的时候注意的事项?
变量名不能重复
变量在使用之前必须要赋值
整数默认是int类型,如果需要表示为long类型需要在后面加上L或者l。
小数默认是double类型,如果需要表示为float类型,需要在后面添加F或者f。
--------11--------
标识符
标识符的作用?
给包,类,方法,变量起名的符号。
标识符的组成规则?
==英文大小写字母,数字0~9 , 下划线_ ,美元符$ ,中文==
注意:
不能数字开头
不能是关键字
标识符的命名规范?
小驼峰式命名:变量名、方法名
第一个单词首字母小写,从第二个单词开始每个单词的首字母大写。
Username,maxvalue等
大驼峰式命名:类名
每个单词的首字母都大写。
String, arraylist等
建议:标识符的起名尽量做到见名知意。
--------小结--------
a1标识符的作用?
a2标识符就是指在java程序中由我们自定义名字的则称作为标识符。 比如: 类名
a3标识符的组成规则?
标识符的组成元素: 字符(a-za-Z,汉字可以)、数字、下划线(_)、美元符号($)
数字不能开头
不能是关键字
a4标识符的命名规范?
大驼峰命名规范: 所有单词的首字母大写,其他小写。 比如: helloworld 。主要用于类名、接口名
小驼峰命名规范:首单词全部小写,其他单词的首字符大写,其他小写。 比如: lasttime. 主要用于方法名、变量名
【练习题】下列不可作为java语言变量名的是( )
a1
B、$1
C、_1
D、5a //不可以 ,数字开头
E、num@ //不可以, @符号不是标识符的组成元素
F、class //不可以,因为class是关键字
G、String //可以, 但是不推荐, 因为String是字符串所使用类型。
--------12--------
类型转换
隐式类型转换(自动类型转换)
==小类型变量==赋值给==大类型变量==,小类型会自动进行提升为大类型。
Byte、short、char ---> int ---> long ---> float ---> double
【笔试题】指出下面一段代码中有问题的代码行号()
byte b = 10; short s = 20;
short s2 = b + s;
short s3 = s + 5;
short s4 = 10 + 20;
float f = 10 + 1.0;
double d = 10 + 1.0F;
强制类型转换
从==范围大==的类型到==范围小==的类型的转换,需要进行强制类型转换。
格式:
==目标数据类型 变量名 = (目标数据类型) 值或变量;==
Int a =10;
Byte b = (byte)a;
System.out.println(b); //10
Int aa = (int)88.88;
System.out.println(aa); //88
弊端:
==强制转换可能会造成数据精度丢失
/*
类型转换
*/
Public class conversiondemo {
Public static void main(String[] args) {
//自动类型转换
Double d = 10;
System.out.println(d);
//定义byte类型的变量
Byte b = 10;
Short s = b;
Int i = b;
//这是不可以的,类型不兼容
//char c = b;
//强制类型转换
Int k = (int)88.88;
System.out.println(k);
}
}
--------小结--------
为什么要进行数据类型转换?
Java这么语言是不允许不同类型的数据在一起运算,这种需求在实际中是经常发生的。在运算的时候让这些数据转换为同一种数据类型。
数据类型转换有哪些类型?
自动类型转换 小数据类型向大数据类型
强制类型转换 大数据类型---小数据类型
强制类型转换可能会出现什么问题?
丢失精度。丢失数据
//最后一题啦
【笔试单选题】以下关于数据类型的转换,说法错误的是( )
A:int a = 1; byte b = 1; System.out.println(a+b); 程序不会报错并且打印2 不会
B:int类型的数据转为double类型,需要强制转换。 //不需要 小--大 自动类型转换
C:int类型转成short砍掉2个字节,可能造成数据丢失。
D:short h = 1; h=h+1; 需要使用强制转换才能编译成功。
--------以上内容如果有错误 请尽情怼我!!!--------
谢谢
原文链接:https://www.cnblogs.com/ctw-C/p/11296762.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash