第二章 Java基本语法(上)
关键字和保留字
关键字的定义与特点
定义:被java赋予特殊含义,用作专门用途的字符串(单词)。
特点:所有的关键字均为小写字母。
保留字
现有java版本尚未使用,但是以后版本可能会作为关键字使用。
goto、const
标识符
标识符定义
定义:表示java给各种变量,方法和类等要素命名时使用的字符序列
(凡是自己可以起名字的地方都是标识符)
标识符命名规则
1.由26个英文字母大小写、0-9、_或$组成。
2.数字不可以开头。
3.不可以使用关键字和保留字,但是可以包含关键字和保留字。
4.java中严格区分大小写,长度无限制。
5.标识符不能包含空格。
变量
变量概念、组成、作用
概念:内存中的一个存储区域;该区域的数据可以在同一个范围内不断变化。
组成:变量类型、变量名、存储的值
作用:用于内存中保存数据。
注意事项
1.java中的变量必须先声明后使用。
2.使用变量名来访问这块区域的数据。
3.变量的作用域在是其定义所在的一对{}内。
4.变量只在其作用域内才有效。
5.同一个作用域不能定义重名的变量。
// 变量的定义
int myAge = 24;
// 变量的使用
System.out.println(myAge);//24
// 变量的声明
int myNumber;
// 变量的赋值
myNumber = 1001;// 等价于 int myNumber=1001;
// 变量的使用
System.out.println(myNumber);//1001
数据类型
数据类型的分类
一、按照数据类型来划分
基本数据类型:
整型:byte \ short \ long \ int
浮点型:float \ double
字符型:char
布尔型:boolean
引用数据类型:
类:class
接口:interface
数组:array
二、按照变量在类中声明的位置来划分
成员变量与局部变量(后述)
1.整型变量:
①byte(1字节=8bit -128~127)short(2字节)int(4字节)long(8字节)
byte b1 = 12;
byte b2 = -128;
// byte b3=128; 报错,超出范围
System.out.println(b1);//12
System.out.println(b2);//-128
②long型变量
③必须以l或者结尾
开发中常用 int
short s1 = 128;
int i1 = 1234;
long l1 = 123123124L;// 输出控制台不带L
System.out.println(s1);//128
System.out.println(i1);//1234
System.out.println(l1);//123123124
2.浮点型
①float(4字节)double(8字节);表示带小数点的数值
double d1 = 123.3;
System.out.println(d1);//123.3
②float类型定义时,要以f或者F结尾
③开发中常用double
float f1 = 123.4f;
System.out.println(f1);//123.4
3.字符类型 char 一个字符=2字节
①定义char型变量,通常使用‘’
char c1 = 'a';
char c2 = 'A';
// char c3='Zoran'; 报错,‘’只能写一个字符
char c4 = '中';
char c5 = '1';
char c6 = 'の';
System.out.println(c1);//a
System.out.println(c2);//A
System.out.println(c4);//中
System.out.println(c5);//1
System.out.println(c6);//の
②转义字符
char c7 = '\n';// 表示换行 '\t'表示制表符
System.out.println("hello" + c7);//hello
System.out.println("world");
System.out.println("-----------");//world
System.out.println("hello");//hello
System.out.println("world");//world
4.布尔类型 boolean
①只能取 true 或者 false 注意区分c语言中的0 1
②常用于条件判断和循环结构
boolean o1 = true;
System.out.println(o1);//trye
boolean isMarried = true;
if (isMarried) {
System.out.println("不能参加单身派对!");//
} else {
System.out.println("多谈谈npy!");
}
基本数据类型之间的运算规则
前提:不包括布尔型
1.自动类型转换
byte、char、short → short → int → long → float → double
容量小的数据类型变量与容量大的数据类型做运算,自动提升为容量大的数据类型
byte byt1 = 2;
int in1 = 12;
int in2 = byt1 + in1;
long lon1 = byt1 + in1;
float flo1 = byt1 + in1;
System.out.println(in2);//14
System.out.println(lon1);//14
System.out.println(flo1);//14.0
2.强制类型转换
需要使用强转符:()可能导致精度损失
double dou1 = 12.3;
int in3 = (int) dou1;//截断操作,损失精度
System.out.println(in3);//12
字符串类型 String
①属于引用数据类型
②声明时使用“”
③可以与8种基本数据类型做运算,且只能是连接运算:+ 运算结果为String
String str1="hello world!";
System.out.println(str1);//hello world!
int in4=1002;
String str2="ID:";
boolean boo1=true;
String str3=str2+in4+boo1;
System.out.println(str3);//ID:1002true
运算符
1.算数运算符
主要由 + - * / % ++ – 等
除法 /
int num1=12;
int num2=5;
int result1=num1/num2;
int result2=num1/num2*num2;//从左往右算
System.out.println(result1);//2
System.out.println(result2);//10
double result3=num1/num2;
System.out.println(result3);//2.0
double result5=num1/(num2+0.0);
System.out.println(result5);//2.4
double result4=(double)num1/num2;//2.4
System.out.println(result4);
取余 %
int n1=12;
int m1=5;
int r1=m1%n1;
System.out.println(r1);//5
int n2=-12;
int m2=5;
int r2=m2%n2;
System.out.println(r2);//5
int n3=12;
int m3=-5;
int r3=m3%n3;
System.out.println(r3);//-5
int n4=-12;
int m4=-5;
int r4=m4%n4;
System.out.println(r4);//-5 结果的符号和 被模数 的符号一致
前++与后++
//前++先+1再运算;后++先运算再+1
//自增不会改变自身数据类型
前–与后–
//前--先-1再运算;后--先运算再-1
//自减不会改变自身数据类型
2.赋值运算符
主要有= += -= *= /= %=等
3.比较运算符(关系运算符)
主要有== != > < >= <=
4.逻辑运算符
主要有& && | || ! ^
5.位运算符
主要有<< >> >>> 基本不用
6.三元运算符
(条件表达式)?表达式1:表达式2;
例:获取两个数较大值
int m=1;
int n=2;
int max=(m>n)?m:n;
System.out.println(max);2