2.1关键字
1.定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)。
2.特点:关键字中所有字母都是小写字母。
3.分类:
用于定义数据类型的关键字:byte、short、int、long、float、double、char、boolean、class、interface、enum、void
用于定义数据类型值的关键字:true、false、null
用于定义流程控制的关键字:if else switch case default while do for break continue return
用于定义访问权限修饰符的关键字: private protected public
用于定义类,函数,变量修饰符的关键字:abstract final static synchronized
用于定义类与类之间的关键字:extends implements
用于定义建立实例及引用实例,判断实例的关键字:new this super instanceof
用于异常处理的关键字:try catch finally throw throws
用于包的关键字:package import
其他修饰符关键字:native strictfp transient volatile assert
2.2标识符
1.定义:Java对各种变量,方法和类等要素命名时使用的字符序列成为标识符;凡是自己可以起名字的地方都叫标识符。
2.定义合法标识符规则:
由26个英文字母大小写,数字,0-9,_或$组成。
数字不可以开头。
不可以使用关键字和保留字,但能包含关键字和保留字。
Java中严格区分大小写,长度无限制。
标识符不能包含空格。
3.注意:在起名字时,要尽量“见名知意”
4.Java中的名称命名规范
包名:多单词组成时所有字母都小写:xxxyyyzzz
类名接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz
常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ
2.3变量
1.概念:
内存中的一个存储区域
该区域有自己的名称(变量名)和类型(数据类型)
Java中每个变量必须先声明,后使用
该区域的数据可以在同一类型范围内不断变化
2.定义变量的格式:数据类型 变量名=初始化值
3.使用变量注意:变量的作用域:一对{}之间有效
4.变量的分类
按被声明的位置划分:
成员变量:方法外部、类的内部定义的变量
局部变量:方法或语句块内部定义的变量
注意:类外面(类对应的大括号外面)不能有变量的声明
按所属的数据类型划分:
基本数据类型变量、引用数据类型变量
//变量:
//1.java中的变量定义的格式:数据类型 变量名=初始化值
class TestVeriable
{
public static void main(String[] args)
{
//2.变量得先定义后使用
int myInt1=10;
double d1=12.3
System.out.println("myInt1");
System.out.println("myInt1+d1");
//i1超出了其作用的范围,不可使用
//System.out.println(i1); } public void method1(){
int i1=10;
System.out.println(i1);
}
}
注:基本数据类型的值直接放到内存中,引用类的值在堆内存中,栈内存中放的是堆内存的首地址
字符串不是基本数据类型,而是引用类型
数值数据类型及转义字符
//变量:基本数据类型(8个) vs 引用数据类型(类、接口、数组)
//1.java中的变量定义的格式:数据类型 变量名=初始化值
class TestVeriable
{
public static void main(String[] args)
{
//2.变量得先定义后使用
int myInt1=10;
double d1=12.3
System.out.println("myInt1");
System.out.println("myInt1+d1");
//i1超出了其作用的范围,不可使用
//System.out.println(i1); //3.整型:byte(-128~+127) short int(默认类型) long
byte b1=12;
//byte b2=128;
short s1=128;
int i1=12;
//定义long型变量,值的末尾加“L”或“l”
long l1=2134123351345325L;
System.out.println(l1); //4.浮点型(带小数点的数值):float double(默认类型)
double d1=12.3;
//声明float类型的浮点型数据,末尾要加“F”或“f”
float f1=12.3F;
System.out.println(f1); //5.字符型(=两个字节):char只能表示一个字符(英文、中文、标点符号、日文....)
char c1='a';
//char c2='ab';
String str="ab";
char c3='中';
String str1="中国";
//可以表示转义字符
char c4='\t';
char c5='\n';
System.out.println("abc"+c5+"def");
//了解
char c6='\u1234';
System.out.println(c6); //6.布尔类型:boolean 只能够取值为ture或false,不能取值null
boolean bool1=true;
if(bool1){
System.out.println(“我是个\”美\“女”);
}else{
System.out.println(“你在说谎!”); } public void method1(){
int i1=10;
System.out.println(i1);
}
}
数据类型按容量大小排序为:
/*
变量之间的运算:(不考虑boolean.剩下:char byte short int long float double)
1.自动类型转换
2.强制类型转换
*/
class TestVeriable1
{
public static void main(String[] args){
//1.自动类型转换:当容量小的数据类型与容量大的数据类型做运算时,容量小的会自动转换为
//容量大的数据类型:char,byte,short===>long===>float===double
int i1=12;
short s1=2;
int i2=i1+s1;
float f1=12.3F;
float f2=f1+i2;
//float d1=f2+12.3; long l=12L;
float f3=l;
System.out.println(i2);
System.out.println(f2); char c1='a';//
c1='A';//
int i3=c1+l;
System.out.println(i3); //需要注意的:当char\byte\short之间做运算时,默认的结果为int类型
short ss1=12;
byte bb1=1;
char cc1='a';
//short ss2=ss1+bb1;
int ii1=ss1+bb1;
//char cc2=cc1+bb1;
int ii2=cc1+bb1;
short ss2=l1;
//short ss3=ss1+ss2;
int ii3=ss1+ss2; //2.强制类型转换:容量大转换为容量小的.要使用强制类型转换符:()
//强制类型转换的问题:导致精度的损失
long l1=12345l;
int m1=(int)l1;
System.out.println(m1); byte by1=(byte)m1;
System.out.println(by1); //平时常用的字符串,也是一种数据类型:String
String nation="我是一个中国人";
System.out.println(nation);
//字符串与基本数据类型之间的运算:只能是连接运算:+。得到的结果仍为一个字符串
String str="abc";
String str1=str+m1;//abc12345
System.out.println(str1); //题目:
String str1="hello";
int myInt1=12;
char ch1='a';
System.out.println(str1+myInt1+ch1);//hello2a
System.out.println(myInt1+ch1+str1);//109hello
System.out.println(ch1+str1+myInt1);//ahello12 }
}
2.4进制
1.对于整数,有四种表示方式:
二进制:0,1,满2进1.以0b或0B开头。
十进制:0-9.满10进1
八进制:0-7,满8进1,以数字0开头表示。
十六进制:0-9及A-F,满16进1,以0x或0X开头表示。此处的A-F不区分大小写。
2.5 运算符
2.5.1 赋值运算符
赋值运算符即“=”,是一个二元运算符(即对两个操作数进行处理),其功能是将右方操作数所含的值赋值给左方的操作数。
语法格式: 变量类型 变量名=所赋的值
tips:左方必须是一个变量,右边所赋的值可以是任何数值或表达式,包括变量,常量或有效的表达式。
运算规则:先计算右方的值,将结果赋值给左边。
note:在Java中可把赋值运算符连在一起使用,eg: x=y=z;
2.5.2 算术运算符
tips:1."+"、"-"运算符可以作为数据的*符号,eg:+5,-7
2.除法运算时,0不可以作除数。eg:int a=5/0,系统会报出ArithmeticException的异常。
//测试算术运算符:+ - + - * / %
class TestAri
{
public static void main(String[] args){ //除:/
int i=;
int j=i/;
double d=i/;
double d1=i/5.0;
System.out.println(j);//
System.out.println(d);//2.0
System.out.println(d);//2.4 //取模:%:取余数。结果的符号取决于被模数
int i1=%;
int i2=-%;
int i3=%(-);
int i4=-%(-);
System.out.println(i1);
System.out.println(i2);
System.out.println(i3);
System.out.println(i4);
}
}
2.5.3自增自减运算符
自增、自减运算符是单目运算符,可放在操作元之前,也可放在操作元之后。操作元必须是一个整型或是浮点型变量。放在操作元前面的自增、自减运算符,会先将变量的值加1(减1),然后再使该变量参与表达式的运算;放在操作元后面的自增、自减运算符,会先使变量参与表达式的运算,然后再将该变量加1(减1)。代码如下:
//测试自增自减运算符: ++ --
class TestAri
{
public static void main(String[] args){
//前++:先自增1,后做运算
//后++:先做运算,后自增1
int myInt1=10;
int myInt2=myInt1++;//后++
System.out.println(myInt1);//
System.out.println(myInt2);// int myInt3=10;
int myInt4=++myInt3;//前++
System.out.println(myInt3);//
System.out.println(myInt4);//11 //前--:先自减1,后做运算
//后--:先做运算,后自减1
int myInt5=10;
int myInt6=myInt5--;//后--
System.out.println(myInt5);//
System.out.println(myInt6);// int myInt7=10;
int myInt8=--myInt7;//前--
System.out.println(myInt7);//
System.out.println(myInt8);//
}
}
3.5.4 比较运算符
比较运算符属于二元运算符,用于程序中的变量和变量之间、变量和常量之间以及其他类型的信息之间的比较。比较运算符的运算结果是boolean型,当运算符对应的关系成立时,运算结果是ture,否则结果时false。比较运算符通常用在条件语句中来作为判断的依据。比较运算符的种类和用法如表所示: