第二章;
2.1代码注释与编码规范
代码注释可以在每一行代码后面加上//或者/* */且中间则为注释内容 其主要作用在给初学者鲜明的表示每一行代码的含义(可以用组合键ctrl+/迅速注释选中内容)
还有/*
* *
*/名字为文档注释
编码规范则需要程序员写出来的代码不能复杂,需要规划代码供读者学习,应控制好空格的数量断开各个关键字
2.2变量与常量
Java 的整型常量值主要有如下 3 种形式。
十进制数形式:如 54、-67、0。
八进制数形式:Java 中的八进制常数的表示以 0 开头,如 0125 表示十进制数 85,-013 表示十进制数 -11。
十六进制数形式:Java 中的十六进制常数的表示以 0x 或 0X 开头,如 0x100 表示十进制数 256,-0x16 表示十进制数 -22。
实型常量值
Java 的实型常量值主要有如下两种形式。
十进制数形式:由数字和小数点组成,且必须有小数点,如 12.34、-98.0。
科学记数法形式:如 1.75e5 或 32&E3,其中 e 或 E 之前必须有数字,且 e 或 E 之后的数字必须为整数。
字符型和字符串常量值
Java 的字符型常量值是用单引号引起来的一个字符,如 'e'、E'。需要注意的是,Java 字符串常量值中的单引号和双引号不可混用。双引号用来表示字符串,像 "11"、"d" 等都是表示单个字符的字符串。
除了以上所述形式的字符常量值之外,Java 还允许使用一种特殊形式的字符常量值来表示一些难以用一般字符表示的字符,这种特殊形式的字符是以开头的字符序列,称为转义字符。
注意:这里表示字符和字符串的单引号和双引号都必须是英语输入环境下输入的符号。
public class HelloWorld {
// 静态常量
public static final double PI = 3.14;
// 声明成员常量
final int y = 10;
public static void main(String[] args) {
// 声明局部常量
final double x = 3.3;
}
}
2.3标识符与关键字
1.标识符
Java 中标识符是为方法、变量或其他用户定义项所定义的名称。标识符可以有一个或多个字符。在 Java 语言中,标识符的构成规则如下。
标识符由数字(0~9)和字母(A~Z 和 a~z)、美元符号($)、下划线(_)以及 Unicode 字符集中符号大于 0xC0 的所有符号组合构成(各符号之间没有空格)。
标识符的第一个符号为字母、下划线和美元符号,后面可以是任何字母、数字、美元符号
2.关键字
Java 语言目前定义了 51 个关键字,这些关键字不能作为变量名、类名和方法名来使用。以下对这些关键字进行了分类。
数据类型:boolean、int、long、short、byte、float、double、char、class、interface。
流程控制:if、else、do、while、for、switch、case、default、break、continue、return、try、catch、finally。
修饰符:public、protected、private、final、void、static、strict、abstract、transient、synchronized、volatile、native。
动作:package、import、throw、throws、extends、implements、this、supper、instanceof、new。
保留字:true、false、null、goto、const。
2.4基本数据类型
public static void main(String[] args) {
byte a = 20; // 声明一个byte类型的变量并赋予初始值为20
short b = 10; // 声明一个short类型的变量并赋予初始值为10
int c = 30; // 声明一个int类型的变量并赋予初始值为30
long d = 40; // 声明一个long类型的变量并赋予初始值为40
long sum = a + b + c + d;
System.out.println("20+10+30+40=" + sum);
}
浮点类型浮点类型是带有小数部分的数据类型,也叫实型。浮点型数据包括单精度浮点型(float)和双精度浮点型(double),代表有小数精度要求的数字。
单精度浮点型(float)和双精度浮点型(double)之间的区别主要是所占用的内存大小不同,float 类型占用 4 字节的内存空间,double 类型占用 8 字节的内存空间。双精度类型 double 比单精度类型 float 具有更高的精度和更大的表示范围。
public static void main(String[] args) {
double na = 2348.4; // 定义 double 类型的变量,用于存储单程距离
int num = 2; // 定义 int 类型的变量,用于存储次数
float total = (float) (na * 2); // 定义 float 类型的变量,用于存储总距离
System.out.println("往返 AB 两地共需要行驶:" + total + " 米");
}
类型的数据转换
有两种转换分别为为强制转换和隐式转换
int a = 3;
double b = 5.0;
a = (int)b;
其中被强制double 类型变量 b 的值强制转换成 int 类型,然后将值赋给 a,但是变量 b 本身的值是没有发生变化的
A
public static void main(String[] args) {
float price1 = 10.9f;
double price2 = 5.8;
int num1 = 2;
int num2 = 4;
int res2 = (int) (price1 * num1 + price2 * num2);
System.out.println("一共付给收银员" + res2 + "元");
}
B
public static void main(String[] args) {
float price1 = 10.9f; // 定义牙膏的价格
double price2 = 5.8; // 定义面巾纸的价格
int num1 = 2; // 定义牙膏的数量
int num2 = 4; // 定义面巾纸的数量
double res = price1 * num1 + price2 * num2; // 计算总价
System.out.println("一共付给收银员" + res + "元"); // 输出总价
结果分别为
A
B
2.5 运算符
1.一元运算符
int a = 12;
System.out.println(-a);
int b = a++;
System.out.println(b);
b = ++a;
System.out.println(b);
结果如下
2.逻辑运算符
3.比较运算符
x>0 && x<=100 // A
y%4==0 || y%3==0 // B
!(x>y) // C
A语句用于判断 x 的值是否大于 0 且小于或等于 100,只有两个条件同时成立结果才为真(true)。B语句用于判断 y 的值是否能被 4 或者 3 整除,只要有一个条件成立,结果就为真(true)。C语句先比较 x 和 y,再将比较结果取反,即如果 x 大于 y 成立,则结果为假(false),否则为真(true)。
public static void main(String[] args) {
int number1, number2;
System.out.print("请输入第一个整数(number1):");
Scanner input = new Scanner(System.in);
number1 = input.nextInt();
System.out.print("请输入第二个整数(number2):");
input = new Scanner(System.in);
number2 = input.nextInt();
System.out.printf("number1=%d,number2=%d\n", number1, number2);
if (number1 == number2) {
System.out.println("number1 和 number2 相等。");
}
if (number1 != number2) {
System.out.println("number1 和 number2 不相等。");
if (number1 > number2) {
System.out.println("number1 大于 number2。");
}
if (number1 < number2) {
System.out.println("number1 小于 number2。");
}
}
4.位逻辑运算符
运算符 含义 实例 结果
& 按位进行与运算(AND) 4 & 5 4
| 按位进行或运算(OR) 4 | 5 5
^ 按位进行异或运算(XOR) 4 ^ 5 1
~ 按位进行取反运算(NOT) ~ 4 -5
5.优先级
优先级 运算符 结合性
1 ()、[]、{} 从左向右
2 !、+、-、~、++、-- 从右向左
3 *、/、% 从左向右
4 +、- 从左向右
5 «、»、>>> 从左向右
6 <、<=、>、>=、instanceof 从左向右
7 ==、!= 从左向右
8 & 从左向右
9 ^ 从左向右
10 | 从左向右
11 && 从左向右
12 || 从左向右
13 ?: 从右向左
14 =、+=、-=、*=、/=、&=、|=、^=、~=、«=、»=、>>>= 从右向左