一、学习java最开始就得知道java中的JVM、JRE和JDK。
A:什么是JVM
JVM是java虚拟机(JVM Java Virtual Machine),java程序需要运行在虚拟机上,不同平台有自己的虚拟机,因此java语言可以跨平台
B:什么是JRE
包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。
JRE:JVM+类库。?
C:什么是JDK
JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。
其中的开发工具:编译工具(javac.exe) ?打包工具(jar.exe)等
? JDK:JRE+JAVA的开发工具。
D:为什么JDK中包含一个JRE
为什么JDK中包含一个JRE呢?
开发完的程序,需要运行一下看看效果。
E:JDK,JRE,JVM的作用和关系
JDK包含JRE 和开发工具包
JRE 包含 核心类库和JVM
二、常量和变量
常量的定义为:在程序运行不可发生变化的数据;
常量分为:
整数常量;
小数常量;
字符常量;
字符串常量;
空常量;(空常量只有null)
布尔常量;(布尔常量只有true和false)
而变量的定义和常量正好相反:在程序执行的过程中,在某个范围内其值可以发生改变的量(从本质上讲,变量其实是内存中的一小块区域)
变量分为(因为java是强类型语言,所以基本变量又被分为四类八种):
整数类型:byte、short、int、long(整数类型的默认类型是Int类型,所以在使用long类型的时候需要在加L,如 long a=124L; )
浮点类型:float、double(浮点类型其实就是小数类型,只不过在java中被叫做浮点类型,默认类型为double,需要使用float需要加F,如 float a = 12.0F。)
字符类型:char
布尔类型:boolean(布尔类型的结果只有true和false;)
它们各自所对应的字节数:
byte、short、int、long 1、2、4、8
float、double 4、8
char 2
boolean 1
三、标识符、注释
标识符:
A 作用
–给包,类,方法,变量等起名字
B 组成规则
–由字符,下划线_,美元符$组成
?这里的字符采用的是unicode字符集,所以包括英文大小写字母,中文字符,数字字符等。
–注意事项
–不能以数字开头
–不能是Java中的关键字
C : 命名原则:见名知意
a包
最好是域名倒过来,要求所有的字母小写?
b类或者接口
如果是一个单词首字母大写
如果是多个单词每个单词首字母大写(驼峰标识)?
c方法或者变量
如果是一个单词全部小写
如果是多个单词,从第二个单词首字母大写?
d常量
如果是一个单词,所有字母大写
如果是多个单词,所有的单词大写,用下划线区分每个单词?
注释(不参与程序运行的语句):
注释又被分为单行注释、多行注释和文档注释(没学);
单行注释写法为//双斜杆后面的语句都为注释
多行注释写法为/**/以/*开头,一直到*/结尾,其中的数据都为注释。
四、运算符
运算符又被分为:
算术运算符;
赋值运算符;
比较运算符;
逻辑运算符;
三元运算符;
算术运算符:
+ - * / %(其中+号在java中不只是加法运算,同时还可以用于连接语句;/号和数学中的除法的区别是这里的/号只取式子的商,余数会被省略;%
号和/号正好相反,%号是为了取式子的余数,同时任何整数%2都除了1就是2,所以需要判断一个数字是否为偶数可以用这个数%2,0为偶数,1则为奇数)
赋值运算符:
=(赋值“赋值不是等于,在java中等于号是==”) +=(先将右边的做加法运算再赋值给左边的变量)-=(先将右边的做减法法运算再赋值给左边的变量)
*=(先将右边的做乘法法运算再赋值给左边的变量)/=(先将右边的做除法法运算再赋值给左边的变量) %=(先将右边的做取余运算再赋值给左边的变量)
比较运算符:
==(等于) < <= > >= !=(不等于)(比较运算符的结果只会为布尔类型)
逻辑运算符:
&(并,我喜欢理解为并且,就是对多个条件进行判断时,必须所有条件都为true(都正确)才通过,否则为false(错))
|(或,对多个条件进行判断时,只要有一个条件为true都可以通过)
^(亦或,用的很少,反正我在基础班基本没用过,判断条件是都为true或者都为false则为false,不同为true)
!(非,不是true就是false,比如!true, 结果就为false;
三元运算符:
表达式1 判断条件(如>) 表达式2 ? 判断结果1:判断结果2;(使用左边的2个表达式进行判断,如果为true则为判断结果1,如果为false则为判断结果2)
五、Scanner键盘录入
键盘录入的三个步骤:
A:导包 (import java.utli.Scanner;)(导包的位置在包的下面类的上面)
B:创建对象 (Scanner sc = new Scanner(System.in);)
C:接收数据 int 变量名称= sc.nextInt();
六、顺序结构的基本使用
概述:是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的
判断流程:
1.if语句(第一种格式):if(关系表达式) {
语句体
}
执行流程:
首先判断关系表达式看其结果是true还是false
如果是true就执行语句体
如果是false就不执行语句体
2.(第二种格式)(关系表达式) {
语句体1;
}else {
语句体2;
}
执行流程
首先判断关系表达式看其结果是true还是false
如果是true就执行语句体1
如果是false就执行语句体2
3.(第三种格式)if(关系表达式1) {
语句体1;
}else if (关系表达式2) {
语句体2;
}
…
else {
语句体n+1;
}
执行流程
首先判断关系表达式1看其结果是true还是false
如果是true就执行语句体1
如果是false就继续判断关系表达式2看其结果是true还是false
如果是true就执行语句体2
如果是false就继续判断关系表达式…看其结果是true还是false
…
如果没有任何关系表达式为true,就执行语句体n+1
switch语句的格式及执行流程:
switch表示这是switch语句
表达式的取值:byte,short,int,char
JDK5以后可以是枚举
JDK7以后可以是String
case后面跟的是要和表达式进行比较的值
语句体部分可以是一条或多条语句
break表示中断,结束的意思,可以结束switch语句
default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。
执行流程:
首先计算出表达式的值其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。
最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。
七、循环语句体的控制
1.for循环:
for(初始化语句;判断条件语句;控制条件语句) {
循环体语句;
}
执行流程:
A:执行初始化语句
B:执行判断条件语句,看其结果是true还是false
如果是false,循环结束。
如果是true,继续执行。
C:执行循环体语句
D:执行控制条件语句
E:回到B继续
2.switch循环:
基本格式
while(判断条件语句) {
循环体语句;
}
扩展格式
初始化语句;
while(判断条件语句) {
循环体语句;
控制条件语句;
}
3.do...while循环
基本格式
do {
循环体语句;
}while((判断条件语句);
扩展格式
初始化语句;
do {
循环体语句;
控制条件语句;
} while((判断条件语句);
重点:三种循环的区别:
虽然可以完成同样的功能,但是还是有小区别:
do…while循环至少会执行一次循环体。
for循环和while循环只有在条件成立的时候才会去执行循环体
for循环语句和while循环语句的小区别:
使用区别:控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了,
而while循环结束还可以继续使用,如果你想继续使用,就用while,否则推荐使用for。
原因是for循环结束,该变量就从内存中消失,能够提高内存的使用效率。
|
|