1.关键字和保留字说明
关键字(keyword)的定义和特点
定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)
特点:关键字中所有字母都为小写
保留字(reserved word)
Java保留字:现有Java版本尚未使用,但以后版本可能作为关键字使用。自己命名标识符时要避免使用这些保留字;
例如:goto、const
2.标识符
标识符:
Java对各种变量、方法和类等要素命名时使用的字符序列称为标识符
技巧:凡是自己可以起名字的地方都叫标识符
定义合法标识符规则
1.由26个英文字母大小写,0-9,_或$
2.数字不可以开头
3.不可以使用关键字和保留字,但能包含关键字和保留字
4.Java中严格区分大小写,长度无限制
5.标识符不能包含空格
3.命名规范
Java中的命名规范:
1.包名:多单词组成时所有字母都小写:xxxyyyzzz
2.类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
3.常量名:所有字母都大写。多单词时每个单词用下划线连接,XXX_YYY_ZZZ
注意1:在起名字时,为了提高阅读性,要尽量有意义,“见名知意”。
注意2:java采用unicode字符集,因此标识符也可以使用汉字声明,但是不建议使用。
补充:
1.编译:javac xxx.java
2.运行:java xxx.java
4.变量
1.变量的概念:
a.内存中一个存储区域
b.该区域的数据可以在同一类型范围内不断变化
c.变量是程序中最基本的存储单位。包含变量类型、变量名和存储值
2.变量的作用
a.用于在内存中保存数据
3.使用变量注意
a.Java中每个变量必须先声明,后使用
b.使用变量名来访问这块区域的数据
c.变量只有在其作用域内才有效
d.同一个作用域内,不能定义重名的变量
5.变量的分类
数据类型
1.基本数据类型
2.引用数据类型
基本数据类型
1.数值型
a.整数类型:byte、short、int、long
b.浮点类型:float、double
2.字符型
a.char
3.布尔型
a.boolean
应用数据类型
1.类 class
2.接口 interface
3.数组
注意:字符串是一种类类型的
6.整数类型
byte 1字节=8bit位 -128~127
short 2字节
int 4字节 约21亿
long 8字节
Java的整型常量默认为int型,声明long型常量须后加‘l’或‘L’
7.浮点类型
1.浮点型常量有两种表示形式:
十进制 5.12、512.9f
科学计数法形式 5.12e2 512E2
2.float单精度,尾数可以精确到7位有效数字。
double双精度,精度是float两倍。通常采用此类型。
Java浮点型常量默认为double类型,声明float型常量,须后加‘f’或‘F’
单精度 4字节
双精度 8字节
8.字符类型
1.1字符=2字节
2.定义char型变量,通常使用:''
3.内部只能写一个字符
转义字符:'\n';换行符
//转义字符
char c5 = '\n';//换行符
System.out.print("hello" + c5);
System.out.println("wrold");
Unicode值表示字符型常量
//Unicode值表示字符型常量
char c6 = '\u0214';
System.out.println(c6);//Ȕ
9.数据类型转换默认转换
数据类型
1.+是一个运算符,我们应该能够看懂,做数据的加法。
2.boolean类型不能转换为其他的数据类型
3.默认转换
byte、short、char-int-long- float-double
byte、short、char相互之间不转换,他们参与运算首先转换为int类型。
4.强制转换
目标类型 变量名 = (目标类型)(被转换的数据)
package day02;
/**
* +是一个运单符,做加法运算的。
* 一般来说,我们在运算的时候,要求参与运算的数据类型必须一致
*/
public class DataTypeDemo3 {
public static void main(String[] args) {
//直接输出的方式做加法
System.out.println(3+4);
//两个int类型做加法
int x = 3;
int y = 4;
int z = x + y;
System.out.println(z);
//定义一个byte类型,一个int类型,做加法
byte a = 3;
int b = 4;
System.out.println(a + b);
//可能损失精度
//byte c = a+b;
//System.out.println(c);
}
}
强制类型转换
package day02;
/**
* 强制转换:
* 从大的数据类型到小的数据类型
*
* 格式
* 目标数据类型 变量 = (目标数据类型)(被转换的数据);
*
* 注意
* 不要随意的去使用强制转换,因为它隐含了精度损失
*/
public class DataTypeDemo4 {
public static void main(String[] args) {
byte a = 3;
int b = 4;
//用强制类型转换改进
byte c = (byte)(a+b);
System.out.println(c);//7
}
}
思考题
package day02;
/**
* 思考题1:请问下面这个有没有问题
* double d = 12.345;
* float f = d;
*
* 思考题2:看看下面两个定义有没有区别
* float f1 = (float)12.345;
* float f2 = 12.345F;
*
* f1其实是通过一个double类型转换过来的,
* f2本身就是一个float类型。
*/
public class DataTypeDemo5 {
public static void main(String[] args) {
//把double赋值给了float,加了强制类型转换
double d = 12.345;
float f = (float)d;
//看看下面两个定义有没有区别?
float f1 = (float)12.345;
float f2 = 12.345F;
}
}
面试题
package day02;
/**
* * 思考题:
* * byte b = 130;有没有问题?如果我想让赋值正确,可以怎么做?
* * 结果是多少?
* * byte b = 300;
*/
public class DataTypeDemo7 {
public static void main(String[] args) {
//因为byte的范围是:-128~127
//而130不在此范围内,所以报错。
//byte b = 130;
//我们可以使用强制类型转换
byte b = (byte) 130;
System.out.println(b);//-126
}
}
package day02;
/**
* 'a' 97
* 'A' 65
* '0' 48
*/
public class DataTypeDemo8 {
public static void main(String[] args) {
System.out.println('a');//a
System.out.println('a'+1);//98
}
}
package day02;
/**
* 字符串数据和其他数据做+,结果是字符串类型。这里的+不是加法运算,而是字符串连接符
*/
public class DataTypeDemo9 {
public static void main(String[] args) {
System.out.println("hello"+'a'+1);//helloa1
System.out.println('a'+1+"hello");//98hello
System.out.println("5+5="+5+5);//5+5=55
System.out.println(5+5+"=5+5");//10=5+5
}
}
网友评论