本章我们主要学习java的基本语法,主要包括1关键字、2标识符、3变量(基本数据类型、基本数据类型转换)、4运算符、5流程控制(if-else及switch-case判断、for和wile及do-while循环)、6数组。本章我们先介绍前4项知识点!!
1、关键字
被java赋予了特殊含义的单词。关键字中所有字母都是小写。
保留字
现有java版本尚未使用,为以后版本预留关键字使用。自己命名时要避开使用这些保留字。
byValue、cast、future、generic、inner、operator、outer、rest、var、goto、const
2、标识符
定义:
Java对各种变量、方法和类等要素命名时使用的字符序列成为标识符
简单理解为:凡是自己起的名字都叫标识符
定义规则:
由26个英文字母大小写,0-9,_,$组成
数字不可以开头
不可以使用关键字和保留字,但是能包含关键字和保留字
Java中严格区分大小写,但是长度不限制
标识符不能包含空格
注意:起名字是尽量有意义,提高代码的阅读性
3、变量
概念:
内存中的一个储存区域,该区域游资的名称(变量名)和类型(数据类型)
Java中每个变量必须先声明才后使用
该区域的数据可以在同一范围内不断变化。
作用范围:{}
定义格式:数据类型 变量名 = 初始化值
例如:int age = 18;
解释:定义了一个名字为age的int类型的变量。初始值为18.该变量定义好会占用内存中的一个储存区域。
变量的分类-按数据类型分类:
对于每一种数据都定义了明确的数据类型,在内存中分配了不同大小的内存空间。
基本数据类型介绍:
整数类型:byte(1字节、-128~127)、short(2字节,-2^15~2^15-1)、int(4字节,-2^31~2^31-1)、long(8字节,-2^63~2^63-1)
注意:long L = 59L; long型变量值的结尾加L或者l
浮点类型:float(单精度:4字节,-3.403E38~3.403E38)、double(双精度:8字节,-1.798E308~1.798E308)
注意:float f = 12.3F; float 型变量值的结尾必须加F或者f
字符型:char(只能储存1个字符)
char c = ‘1’;
布尔型:boolean (只能取值true或者false,不能为null)
基本数据类型转换:
自动类型转换: 低字节--》高字节(byte,short ===》 int==》 long ==》float ==》double)
int+short = int
int+float = float
float+double = double
char + int = int (char取值的ACS码)
注意:当char、short、byte之间(本身short+short= int)做运算,默认结果为int类型
short+byte = int
char+byte = int
强制类型转换:(低字节)高字节--》低字节
例:long L = 12345L; int a = (int) L;
4、运算符
算术运算符:正负号、+、-、*、\、%、++、--
注意:
%取余数 7%2=1
a++;先用后加 (a=1, b = a++; 结果:b=1,a=2)
++a:先加后用 (a=1, b = a++; 结果:b=2,a=2)
赋值运算符:=、+=、-=、 *=、/=、%=
例:int a = 10;a+=3;(同等a=a+3则a=13)
short s = 10;s = s+3;(编译不通过,需要强转s = (short)s+3) 但 s+=3;(正确,+=结果数据类型不变)
int a = 1; a *=0.1;(结果 a=0, *=结果类型不变还是int则为0)
比较运算符(关系运算符):==、!=、、<= 、>=、 instanceof(检查是否是类的对象 例如:"Hello" instanceof String 结果:true)
逻辑运算符:&(逻辑与)、 &&(短路与)、|(逻辑或)、 ||(短路或)、!(逻辑非)、^(逻辑异或)
注意:&和&&区别: &不管左边是true还是false,右边都会进行运算
&&当左边是false时,右边不再进行运算(建议使用&&)
(|和||的区别同上)
位运算符
<< :左移 3<< 2=12-->3*2*2=12
例如:31<<3: 31转为2进制,整体左移3位,末尾用000补齐,然后转为10进制即可
规律:每往左移动1位,相当于乘2.
>>: 右移 3>>1=1--->3/2=1
>>>: 无符号右移 3>>>1 = 1 --->3/2=1
&: 与运算 6&3=2
|: 或运算 6|3 = 2
^:异或运算 6^3 = 5
~: 反码 ~6=-7
三元运算符:(条件表达式)? 表达式1 : 表达式2
例如:(1==2)?'真的' : ’假的‘ 结果:假的
理解:当条件表达式为true时,执行表达式1,否则执行表达式2