第 02 章 变量与运算符
本章专题与脉络
1 关键字(keyword)
2 标识符(identifier)
3 变量
3.1 为什么需要变量
一花一世界,如果把一个程序看做一个世界或一个社会的话,那么变量就是程序世界的花花草草、万事万物。即,变量是程序中不可或缺的组成单位,最基本的存储单元。
3.2 初识变量
3.3 Java 中变量的数据类型
3.4 变量的使用
3.4.1 步骤 1:变量的声明
注意:变量的数据类型可以是基本数据类型,也可以是引用数据类型。
3.4.2 步骤 2:变量的赋值
举例 4:也可以将变量的声明和赋值一并执行
4 基本数据类型介绍
4.1 整数类型:byte、short、int、long
4.1.1 补充:计算机存储单位
4.2 浮点类型:float、double
4.2.1 关于浮点型精度的说明
4.2.2 应用举例
4.3 字符类型:char
char 型数据用来表示通常意义上“字符”(占 2 字节)
Java 中的所有字符都使用 Unicode 编码,故一个字符可以存储一个字母,一个汉字,或其他书面语的一个字符。
字符型变量的三种表现形式:
char 类型是可以进行运算的。因为它都对应有 Unicode 码,可以看做是一个数值。
4.4 布尔类型: boolean
5 基本数据类型变量间运算规则
在 Java 程序中,不同的基本数据类型(只有 7 种,不包含 boolean 类型)变量的值经常需要进行相互转换。
转换的方式有两种:自动类型提升和强制类型转换。
5.1 自动类型提升
5.2 强制类型转换
5.3 基本数据类型与 String 的运算
5.3.1 字符串类型:String
String 不是基本数据类型,属于引用数据类型
使用一对*“”*来表示一个字符串,内部可以包含 0 个、1 个或多个字符。
声明方式与基本数据类型类似。例如:String str = “尚硅谷”;
5.3.2 运算规则
1、任意八种基本数据类型的数据与 String 类型只能进行连接“+”运算,且结果一定也是 String 类型
System.out.println("" + 1 + 2);//12
int num = 10;
boolean b1 = true;
String s1 = "abc";
String s2 = s1 + num + b1;
System.out.println(s2);//abc10true
//String s3 = num + b1 + s1;//编译不通过,因为 int 类型不能与 boolean 运算
String s4 = num + (b1 + s1);//编译通过
2、String 类型不能通过强制类型()转换,转为其他的类型
String str = "123";
int num = (int)str;//错误的
int num = Integer.parseInt(str);//正确的,后面才能讲到,借助包装类的方法才能转
5.3.3 案例与练习
案例:公安局身份登记
要求填写自己的姓名、年龄、性别、体重、婚姻状况(已婚用 true 表示,单身用 false 表示)、联系方式等等。
/**
* @author 尚硅谷-宋红康
* @create 12:34
*/
public class Info {
public static void main(String[] args) {
String name = "康师傅";
int age = 37;
char gender = '男';
double weight = 145.6;
boolean isMarried = true;
String phoneNumber = "13112341234";
System.out.println("姓名:" + name);
System.out.println("年龄:" + age);
System.out.println("性别:" + gender);
System.out.println("体重:" + weight);
System.out.println("婚否:" + isMarried);
System.out.println("电话:" + phoneNumber);
//或者
System.out.println("name = " + name + ",age = " + age + ",gender = " + gender + ",weight = " + weight + ",isMarried = " + isMarried + ",phoneNumber = " + phoneNumber);
}
}
练习:
练习 1:
String str1 = 4; //判断对错:
String str2 = 3.5f + ""; //判断 str2 对错:
System.out.println(str2); //输出:
System.out .println(3+4+"Hello!"); //输出:
System.out.println("Hello!"+3+4); //输出:
System.out.println('a'+1+"Hello!"); //输出:
System.out.println("Hello"+'a'+1); //输出:
练习 2:
System.out.println("* *"); //输出:
System.out.println("*\t*"); //输出:
System.out.println("*" + "\t" + "*"); //输出:
System.out.println('*' + "\t" + "*"); //输出:
System.out.println('*' + '\t' + "*"); //输出:
System.out.println('*' + "\t" + '*'); //输出:
System.out.println("*" + '\t' + '*'); //输出:
System.out.println('*' + '\t' + '*'); //输出:
6 计算机底层如何存储数据中
6.1 进制的分类
6.2 进制的换算举例
6.3 二进制的由来
二进制,是计算技术中广泛采用的一种数制,由德国数理哲学大师莱布尼茨于1679 年发明。
二进制数据是用 0 和 1 两个数码来表示的数。它的基数为 2,进位规则是“逢二进一”。
二进制广泛应用于我们生活的方方面面。比如,广泛使用的摩尔斯电码(Morse Code),它由两种基本信号组成:短促的点信号“·”,读“滴”;保持一定时间的长信号“—”,读“嗒”。然后,组成了 26 个字母,从而拼写出相应的单词。
我们偶尔会看到的:SOS,即为:
6.4 二进制转十进制
6.5 十进制转二进制
十进制转二进制:除 2 取余的逆
6.6 二进制与八进制、十六进制间的转换
6.7 各进制间的转换
1.(除基取余逆排法)
16:7B,100,57,3E
2 :1111011 100000000 1010111 111110
2.
10:291 607 56 98
2 :100100011 10 0101 1111 11 1000 110 0010(8421)
7 运算符(Operator)(掌握)
7.1 算术运算符
7.1.1 基本语法
7.1.2 案例与练习
7.2 赋值运算符
7.2.1 基本语法
7.2.2 练习
练习1:
7.3 比较(关系)运算符
7.4 逻辑运算符
7.4.1 基本语法
7.4.2 案例与练习
7.5 位运算符(难点、非重点)
7.5.1 基本语法
7.6 条件运算符
7.6.1 基本语法
7.6.3 与if-else的转换关系
7.7 运算符优先级
运算符有不同的优先级,所谓优先级就是在表达式运算中的运算符顺序。
-
不要过多的依赖运算的优先级来控制表达式的执行顺序,这样可读性太差,尽量使用**()**来控制表达式的执行顺序。
-
不要把一个表达式写得过于复杂,如果一个表达式过于复杂,则把它分成几步来完成。例如:
(num1 + num2) * 2 > num3 && num2 > num3 ? num3 : num1 + num2;
8 【拓展】关于字符集
8.1 字符集
8.2 ASCII 码
8.3 ISO-8859-1 字符集
8.4 GBxxx 字符集
8.5 Unicode 码
8.6 UTF-8
8.7 小结
77432463)]
[外链图片转存中…(img-RjnyfyeB-1708777432463)]
8.3 ISO-8859-1 字符集
[外链图片转存中…(img-81jTxXvQ-1708777432463)]
8.4 GBxxx 字符集
[外链图片转存中…(img-qEQ1RgaW-1708777432463)]
8.5 Unicode 码
[外链图片转存中…(img-dA4mdEJi-1708777432464)]
8.6 UTF-8
[外链图片转存中…(img-OBocGA9O-1708777432464)]
[外链图片转存中…(img-clwp6PR9-1708777432464)]
8.7 小结
[外链图片转存中…(img-2AS7lgkt-1708777432464)]