关键字与保留字
关键字


保留字
Java保留字:现有Java版本尚未使用,但以后版本可能会作为关键字使用。自己命名标识符时要避免使用这些保留字
goto 、const
标识符与命名规范
标识符
Java 对各种变量、方法和类等要素命名时使用的字符序列称为标识符
即:凡是自己可以起名字的地方都叫标识符。
定义合法标识符规则:
- 由26个英文字母大小写,0-9 ,_或 $ 组成
- 数字不可以开头。
- 不可以使用关键字和保留字,但能包含关键字和保留字。
- Java中严格区分大小写,长度无限制。
- 标识符不能包含空格。
命名规范
Java中的名称命名规范:
- 包名:多单词组成时所有字母都小写:xxxyyyzzz
- 类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
- 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz
- 常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ
注意:java采用unicode字符集,因此标识符也可以使用汉字声明,但是不建议使用。
变量与声明

/*
注意:变量必须先声明,后使用
变脸都定义在其作用域内,且仅在当前的作用域生效
同一个作用域内,不可声明两个相同的变量
*/
class VariableTest{
public static void main(String[] args){
// 变量定义
int myAge = 12;
// 变量使用
System.out.println(myAge);
// 变量声明
int myNumber;
// 变量赋值
myNumber = 1001;
System.out.println(myNumber);
}
}
基本数据类型

整型

1byte = 8bit ;
bit: 计算机中的最小存储单位。byte:计算机中基本存储单元。
class VariableTest1{
public static void main(String[] args){
// 如果使用整型,建议使用int
byte b1 = 12;
byte b2 = -128;
// byte b3 = 128;
System.out.println(b1);
System.out.println(b2);
// System.out.println(b3); 错误: 不兼容的类型: 从int转换到byte可能会有损失
short s1 = 1333;
int i1 = 24254358;
long l1 = 2749832863875L;
System.out.println(l1);
}
}
浮点型

class VariableTest1{
public static void main(String[] args){
// 如果要使用浮点型,建议使用double
double d1 = 123.2323;
float f1 = 23.34f;
System.out.println(d1);
System.out.println(f1);
}
}
字符型

class VariableTest1{
public static void main(String[] args){
// 字符
char c1 = 'a';
char c2 = 'B';
System.out.println(c1);
System.out.println(c2);
// 转义字符
// 严格区分,单个字符用单引号,字符串用双引号
char c3 = '\t';
System.out.println("Hello" + c3 + "World" + '!');
// utf-8
char c4 = '\u0044';
System.out.println(c4);
}
}
布尔型

class VariableTest1{
public static void main(String[] args){
// 布尔型
boolean bl = true;
System.out.println(bl);
if(bl){
System.out.println("domo,my name is Omew!");
}else{
System.out.println("see you!");
}
}
}
基本数据类型转换
自动类型提升运算

/*
自动类型提升运算
*/
class VariableTest2{
public static void main(String[] args){
byte b1 = 2;
int i1 = 129;
// byte b2 = b1 + i1; 编译不通过
int b2 = b1 + i1;
System.out.println(b2); // 131
long l1 = b1 + i1;
float f = b1 + i1;
System.out.println(l1); // 131
System.out.println(f); // 131.0
// java运算时,如果操作数均在int范围内,那么一律在int的空间内运算
}
}
字符串

字符串拼接规则:

强制类型转换

/*
强制类型转换:
可以看做自动类型提升运算的逆运算
需要使用强转符
强制类型转换,可能导致精度损失
*/
class VariableTest3{
public static void main(String[] args){
double d1 = 12.99;
int i1 = (int)d1; // 截断操作
System.out.println(i1); // 12
int i2 = 128;
byte b = (byte)i2;
System.out.println(b); // -128
}
}
运算符
运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。
- 算术运算符
- 赋值运算符
- 比较运算符 (关系运算符)
- 逻辑运算符
- 位运算符 (暂不做要求)
- 三元运算符
算数运算符

class AriTest{
public static void main(String[] args) {
// 除法
// 两个int型的变量做运算,结果默认也是int型
int num1 = 12;
int num2 = 5;
System.out.println(num1 / num2); // 2
System.out.println(num1 / num2 * num2); // 10
// 如何让除法结果保留小数?
// 核心思路,只要让被除数或除数之间的某一个转换成浮点型就可以了
// 浮点型参与算数运算,结果会转变为double型
System.out.println(num1 / (num2 + 0.0)); // 2.4
System.out.println((double)num1 / num2); // 2.4
//*****************************************************
// 取余运算
// 余数的符号取决于与被余数的符号
// 一般用来判断一个数能否被除尽
System.out.println(12 % 5); // 2
System.out.println(-12 % 5); // -2
System.out.println(12 % -5); // 2
System.out.println(-12 % -5); // -2
//*****************************************************
// 自增运算
int a1 = 10;
int b1 = a1++;
System.out.println("a1:" + a1 + ", b1:" + b1); // a1:11, b1:10
int a2 = 10;
int b2 = ++a2;
System.out.println("a2:" + a2 + ", b2:" + b2); // a2:11, b2:11
// 注意,自增运算不会改变数据类型
short s = 10;
// short ss = s + 1; // 错误: 不兼容的类型: 从int转换到short可能会有损失
short ss = ++s;
System.out.println(ss); // 11
}
}
练习:
/*
随意给出一个整数,打印显示它的个位数,十位数,百位数的值。
格式如下:
数字xxx的情况如下:
个位数:
十位数:
百位数:
-----------------------------
例如:
数字153的情况如下:
个位数:3
十位数:5
百位数:1
*/
class AriExer {
public static void main(String[] args) {
int num = 255;
System.out.println("这个数的是:" + num);
System.out.println("这个数的个位是:" + (num % 100 % 10));
System.out.println("这个数的十位是:" + (num % 100 / 10));
System.out.println("这个数的百位是:" + (num / 100));
}
}
赋值运算符

class AriTest1{
public static void main(String[] args) {
// 连续赋值
int i1,i2,i3;
i1 = i2 = i3 = 10;
// 或者
int j1 = 20, j2 = 30;
// ******************************
// 扩展赋值运算
int num = 10;
num += 2; //相当于 num = num + 2
System.out.println(num); // 12
int num1 = 12;
num1 *= 2; //相当于 num1 = num1 * 2
System.out.println(num1); // 24
// 注意:与自加相同,扩展赋值运算不会改变数据类型
short s = 10;
// s = s + 2; // 错误: 不兼容的类型: 从int转换到short可能会有损失
s+=2;
System.out.println(s); // 12
}
}
比较运算符

逻辑运算符


/*
逻辑运算符
1.逻辑运算符操作的都是布尔类型的变量
2.短路运算的特点
*/
class AriTest2 {
public static void main(String[] args) {
// 逻辑与 和 短路与 的区别
// 两者的逻辑运算结果并没有任何区别
boolean flag1 = false;
int num1 = 10;
if(flag1 & (num1++ > 0)){
System.out.println("Domo,my name is Omew!");
}else{
System.out.println("See you next time~");
}
System.out.println(num1); // 11;
boolean flag2 = false;
int num2 = 10;
if(flag2 && (num2++ > 0)){
System.out.println("Domo,my name is Omew!");
}else{
System.out.println("See you next time~");
}
System.out.println(num2); // 10; 短路与运算中,若第左边判定为false,则不再执行条件后面的运算
// 同理,逻辑或 和 短路或 也有类似的区别
// 短路或运算中,若左边判定为true,则不再执行条件后面的运算
}
}
三元运算符

/*
三元运算符
注意:
三元运算符可以转换为if——else语句,并且执行效率比if——else语句更高...
*/
class Sanyuan{
public static void main(String[] args) {
int i = 5, j = 10;
int max = i > j ? i : j;
System.out.println("The Max number is: " + max);
//****************************************************
//从三个数中选出最小的数:
int a = 5, b = 10, c = 15;
int temp = a < b ? a : b;
int min = temp < c ? temp : c;
System.out.println("The Min number is: " + min);
}
}
运算符优先级

网友评论