Java基础语法
1.变量命名规则
2.八种数据基本类型
3.数据类型转换
4.输入输出
5.条件判断
6.循环
1.变量命名规则
规则:
(1)Java变量名只能由字母、数字、下划线(_)和美元符号组成
(2)变量名开头不能是数字
(3)变量名区分大小写
(4)变量名不能和Java关键字冲突,但可以包含关键字
Java关键字:
(1)48个关键字:abstract、assert、boolean、break、byte、case、catch、char、class、continue、default、do、double、else、
enum、extends、final、finally、float、for、if、implements、import、int、interface、instanceof、long、native、new、
package、private、protected、public、return、short、static、strictfp、super、switch、synchronized、this、throw、throws、
transient、try、void、volatile、while
(2)2个保留字(现在没用以后可能用到作为关键字):goto、const
(3)3个特殊直接量:true、false、null
2.八种数据基本类型
位(bit)是计算机中的最小存储单元,字节(byte)是计算机中的基本存储单元,一字节有8位。Java数值型都是有符号数,即有正负。
整数类型:
byte(字节):1字节,8位,数值范围是-128~127
short(短整型):2字节,16位,数值范围是-32768~32767
int(整形):4字节,32位,数值范围是-2147483648~2147483647
Java整型常量默认为int型
long(长整型):8字节,64位,数值范围是-2的63次方~2的63次方-1
声明long型常量须在后面加“l”或“L”
浮点类型:
因为二进制无法准确表示某些带小数为的十进制书据,所以浮点数都是近似值。
float(单精度):4字节,32位,数值范围是-3.403E38~3.403E38
声明float型常量须在数值后加“f”或“F”
double(双精度):8字节,64位,数值范围是-1.798E308~1.798E308
Java浮点常量默认为double型
字符型:
char:2字节,16位,存储Unicode码,用单引号引Unicode表的字赋值或直接用数字赋值。
字符型不管赋值是字符还是数字,输出时是Unicode对应字符,但转义符是以符号的形式输出,例:'\\'代表一个反斜线字符,所以输出“\”
字符型可进行运算,运算时相当于一个整数
布尔型:
boolean:1字节,但只有true和false两个值,true是1,false是0,但Java不支持用10作为判断条件
3.简单数据类型转换
类型从低级到高级:(byte,short,char)< int < long < float < double
低级到高级的自动类型转换
低级变量在赋值给高级变量时,主动转换,低级类型为char,向高级类型转换时,自动转换成对应的ASCII码值。
算式中有高级类型,其他自动提升为高级类型进行计算。
高级到低级的强制类型转换
高级类型转换成低级类型时,需要使用强制类型转换,即承诺接受转换后可能导致溢出或精度下降的后果。
平级中byte,short,char的转换也是强制类型转换。
转换方式:(低级类型)变量名;
4.输入输出
输入(使用Scanner类)
(1)导入包:
import java.util.*/java.util.Scanner;
(2)构造scanner类对象:
Scanner scan = new Scanner(System.in);
(3)常用next方法系列:
scan.nextInt();//输入整数;
scan.nextLine();//输入字符串;
scan.nextDouble();//输入双精度数;
scan.next();//输入字符串,以空格为分隔符;
(4)关闭scanner(因为scanner使用的时io流,占用资源空间,如果一直不释放,会产生浪费):
scan.close();
输出
常用输出语句:
System.out.print();//输出内容后不换行,如果下面还有输出语句,则跟在这之后
System.out.println();//输出内容后换行,下面的输出不和它同行
System.out.printf();//按照一定的格式输出,输出内容有格式要求时常用。
5.条件判断
if语句
if(条件){语句块}
//若条件的布尔值为true,则执行语句块;若为false,则不执行
if-else语句
if(条件){语句块1}
else{语句块2}
//若条件为true,则执行语句块1,否则,执行语句块2
if-elseif-else语句
else if个数随意,else可有可没有
if(条件){语句块1}
else if(条件){语句块2}
else{语句块3}
//条件中只要有一个为true,下面的就不再执行。而多个if并列语句每个都得判断和执行
switch-case结构
switch (num){
case 1:{break;}
case 2:{break;}
default:{break;}
}
switch-case中如果不写break,则一旦num和其中一个case匹配后,除了这个匹配case的语句,后面的case语句也会接着执行,直到遇到break或到达switch结束。
6.循环
for循环
for(初始条件;判断条件;改变条件){语句块}
//初始条件和改变条件,都可以不写在头部;
执行过程:先执行初始条件(只执行1次),再执行判断条件,若为true则执行语句块,为false则不执行,执行完语句块后执行改变条件,然后执行判断条件,循环~直到不满足判断条件退出循环。
while循环
while(条件){语句块}
执行过程:执行判断条件,若为false则退出循环,为true执行语句块,然后再判断条件,再执行,循环~直到不满足条件退出。
和for的区别是,while的条件判断一般比较复杂,而for的条件一般和迭代器相关。
do while循环
do{
语句块
} while(条件)
执行过程:先执行语句块,再判断条件,条件满足继续循环。
和while的区别是:do while至少执行一次语句块。
continue,break,return
continue;//终止当前的循环过程,但不跳出循环,就是说它不执行本次循环continue下面的程序,直接跳转到改变条件,然后进行条件判断。
break;//退出当前循环,跳出一层循环,如果有循环嵌套,需要多次break才能完全跳出。
return;//表示从从被调函数返回到主调函数,return直接退出函数,该函数结束,后面的语句不再执行。