Java基本语法
2、Java基本语法
1.变量:在内存开辟一块空间用来存数据叫变量.
1.1:变量三要素:变量名,数据类型,值.
java是一种强类型的语言,所以同一个变量的值的类型一定要与数据类型相匹配.
变量名自定义标识符,采用驼峰式命名法.
1.2:变量一定要先声明,再赋值,最后才能使用.
1.3:=(赋值号):将等于号右边的值赋值给左边.
1.4:变量声明及赋值
1.4.1:先声明变量的语法: 数据类型 变量名;再给变量赋值的语法: 变量名=值;
eg://声明一个变量
String name;
//给变量赋值
name="孙星";
1.4.2:在声明变量的同时赋值的语法: 数据类型 变量名=值;
eg://声明变量的同时赋值
int age=18;
float height=1.7F;
double weight=50.5;
char sex='女';
float zhuHeight=1.8F;
boolean result=height>zhuHeight;
1.4.3:声明多个相同数据类型的变量:声明4个相同类型的变量,只给变量名2赋值.
数据类型 变量名1,变量名2=值2,变量名3,变量名4;
1.5:在同一个范围内(大括号中)不能声明相同变量名.
1.6:一个变量可以赋多次值,后面的值会将前面的值覆盖.
2.java中常用数据类型(ASCII编码集和Unicode万国码了解下)
2.1:基本数据类型
整数:byte(1个字节),short(2个字节),int(4个字节,默认),long(8个字节,赋值时值后面带L)
浮点数据:float(4个字节,赋值时值后面带F),double(8个字节,默认)
单个字符:char(2个字节,赋值时值外面加单引号)
布尔类型:boolean(值只能是true/false)
2.2:引用数据类型:
String,数组,类,接口,集合存一到多个字符:String(赋值时值外面加双引号)
4.数据类型转换
兼容:两种数据类型相同或类似.
4.1:自动类型转换的语法:大数据类型 变量名=小数据类型的值;
4.1.1:两种数据类型要兼容.
4.1.2:目标类型大于原类型.(小转大)
4.2:强制类型转换语法(有风险):小数据类型 变量名=(小数据类型)值;
4.2.1:两种类型要兼容
4.2.2:目录类型小于原类型.(大转小)
4.3:如果一个值超过数据类型的范围,强制类型转换时这个值会在这个数据类型的范围内转圈圈.
//如果这个数据类型的范围[-min,max],结果=值-(max-(-min)+1)n
//如果这个数据类型的范围[min,max],结果=值-(max-min)n
//如果这个数据类型的范围[-min,-max],值<-min ,结果=值+(-max-(-min))*n
4.4:char与int两种类型不兼容,本来不能进行相互转换,但因为每个char类型的字符有ANSCII码和万国码表对应,所以char类型可以数字.
5.运算符:
5.1:算术运算符:+,-,*,/,%,++,--
5.1.1:-,*与数学中用法一样.
5.1.2:+:如果+左右两边都是数字,+起算术运算作用 如果+左右两边有一边是字符串,+起连接作用
5.1.3:/:在java中 整型=整型/整型;
5.1.4:%(取模运算符/求余运算符):获得两个数求商的余数
5.1.5:++/--:在自身的基础+1或-1
++变量:变量先自身加1,再参与运算
变量++:变量先参与运算,再自身加1
--变量:变量先自身减1,再参与运算
变量--:变量先参与运算,再自身减1
eg:int num=8;
int result5=(++num)+(num--)+(num++)*(--num);//82
//result5=9+(num--)+(num++)*(--num); num=9;
//result5=9+9+(num++)*(--num); num=8;
//result5=9+9+8*(--num); num=9;
//result5=9+9+8*8; num=8;
5.1.6:在java算术运算中,有一个为大类型,结果就为大类型的数据
5.2:关系运算符:>,>=,<,<=,==(等于),!=(不等于)
5.3:逻辑运算符:或(|,||),且(&,&&),非(!)
5.3.1:非(!):非true即false,非false即true.
5.3.2:或(|,||):或左右两边的结果有一个为true,结果就为true;两边都为false,结果为false;|(普通或):|左右两边 的式子是一定会执行.||(短路或):||左边的结果为true,右边式子不会执行.
5.3.3:且(&,&&):且左右两的结果都为true,结果就为true;有一边为false,结果为false
&(普通且):&左右两边的式子是一定会执行.
&&(短路且):&&左边的结果为false,右边式子不会执行.
5.4:赋值运算符:=,+=,-=,*=,/=
5.4.1:=:将=右边的值赋值给左边.
5.5:运算符的优先级:()>算术运算符>关系运算符>逻辑运算符>赋值运算符.
8.控制台输入(从键盘上接收数据):三步
8.1:在类上面导包:
8.2:获得具有从键盘上接收数据的能力
Scanner input=new Scanner(System.in);
8.3:用能力接收数据
接收String类型的数据:input.next();
接收int类型的数据:input.nextInt();
接收double类型的数据:input.nextDouble();
键盘上不能直接接收char类型的数据,如果想接收char类型的数据有两种方式:
第一种直接将String类型接收char类型的数据:input.next();
第二种先接收字符串,只取字符串的第一个字符:input.next().charAt(0);