第 02 章 变量与运算符

本文详细介绍了Java编程中的变量概念、不同数据类型的使用,包括基本数据类型(如整数、浮点、字符、布尔)、运算符(算术、赋值、比较、逻辑和位运算),以及数据之间的转换规则。还涵盖了字符集、ASCII码、Unicode码和UTF-8编码等内容。
摘要由CSDN通过智能技术生成

第 02 章 变量与运算符

本章专题与脉络

image-20240130155425991

1 关键字(keyword)

image-20240130155526016

image-20240130155539584

2 标识符(identifier)

image-20240130155612849

image-20240130155631400

3 变量

3.1 为什么需要变量

一花一世界,如果把一个程序看做一个世界或一个社会的话,那么变量就是程序世界的花花草草、万事万物。即,变量是程序中不可或缺的组成单位,最基本的存储单元

3.2 初识变量

image-20240130200822351

image-20240130201125475

3.3 Java 中变量的数据类型

image-20240130201207193

image-20240130201326199

3.4 变量的使用

3.4.1 步骤 1:变量的声明

image-20240131121344353

注意:变量的数据类型可以是基本数据类型,也可以是引用数据类型。

3.4.2 步骤 2:变量的赋值

image-20240131121434687

举例 4:也可以将变量的声明和赋值一并执行

image-20240131121512286

4 基本数据类型介绍

4.1 整数类型:byte、short、int、long

image-20240131121526107

image-20240131121541024

4.1.1 补充:计算机存储单位

image-20240131121803307

4.2 浮点类型:float、double

image-20240131121818983

image-20240131121829751

4.2.1 关于浮点型精度的说明

image-20240131123554300

4.2.2 应用举例

image-20240131123622492

image-20240131123634022

4.3 字符类型:char

char 型数据用来表示通常意义上“字符”(占 2 字节)

Java 中的所有字符都使用 Unicode 编码,故一个字符可以存储一个字母,一个汉字,或其他书面语的一个字符。

字符型变量的三种表现形式:

image-20240131124020743

char 类型是可以进行运算的。因为它都对应有 Unicode 码,可以看做是一个数值。

4.4 布尔类型: boolean

image-20240131124217462

5 基本数据类型变量间运算规则

在 Java 程序中,不同的基本数据类型(只有 7 种,不包含 boolean 类型)变量的值经常需要进行相互转换。

转换的方式有两种:自动类型提升强制类型转换

5.1 自动类型提升

image-20240131124335882

image-20240131124402562

5.2 强制类型转换

image-20240131124424406

image-20240131124446926

image-20240131124503690

image-20240131124517363

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 计算机底层如何存储数据中

image-20240201123558357

6.1 进制的分类

image-20240201123620773

6.2 进制的换算举例

image-20240201123631571

image-20240201123647400

6.3 二进制的由来

二进制,是计算技术中广泛采用的一种数制,由德国数理哲学大师莱布尼茨于1679 年发明。

二进制数据是用 0 和 1 两个数码来表示的数。它的基数为 2,进位规则是“逢二进一”。

二进制广泛应用于我们生活的方方面面。比如,广泛使用的摩尔斯电码(Morse Code),它由两种基本信号组成:短促的点信号“·”,读“”;保持一定时间的长信号“”,读“”。然后,组成了 26 个字母,从而拼写出相应的单词。

image-20240201123819704

我们偶尔会看到的:SOS,即为:

image-20240201123842727

6.4 二进制转十进制

image-20240201123903965

image-20240201124024205

image-20240201124101769

6.5 十进制转二进制

十进制转二进制: 2 取余的逆

image-20240201124129220

6.6 二进制与八进制、十六进制间的转换

image-20240201124220747

image-20240201124232208

6.7 各进制间的转换

image-20240201124954196

image-20240201125004866

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)(掌握)

image-20240224192849515

image-20240224192958364

7.1 算术运算符

7.1.1 基本语法

image-20240224193045781

image-20240224193223749

image-20240224193254522

7.1.2 案例与练习

image-20240224193434239

image-20240224193459561

image-20240224193622193

7.2 赋值运算符

7.2.1 基本语法

image-20240224193651260

image-20240224193713856

image-20240224193749662

7.2.2 练习

练习1:

image-20240224193845057

image-20240224193900112

7.3 比较(关系)运算符

image-20240224193924950

image-20240224194248464

7.4 逻辑运算符

7.4.1 基本语法

image-20240224195013489

image-20240224195123251

image-20240224195225826

7.4.2 案例与练习

image-20240224195306034

image-20240224195322279

image-20240224195401269

7.5 位运算符(难点、非重点)

7.5.1 基本语法

image-20240224195533215

image-20240224200047049

image-20240224200103696

image-20240224200120977

image-20240224200143349

image-20240224200206317

image-20240224200219095

image-20240224200242801

image-20240224200303045

image-20240224200316501

7.6 条件运算符

7.6.1 基本语法

image-20240224200456916

image-20240224200757803

image-20240224200855244

7.6.3 与if-else的转换关系

image-20240224200934267

7.7 运算符优先级

运算符有不同的优先级,所谓优先级就是在表达式运算中的运算符顺序。

image-20240224201236161

  1. 不要过多的依赖运算的优先级来控制表达式的执行顺序,这样可读性太差,尽量使用**()**来控制表达式的执行顺序。

  2. 不要把一个表达式写得过于复杂,如果一个表达式过于复杂,则把它分成几步来完成。例如:

    (num1 + num2) * 2 > num3 && num2 > num3 ? num3 : num1 + num2;

8 【拓展】关于字符集

8.1 字符集

image-20240224201430886

8.2 ASCII 码

image-20240224201450167

image-20240224201517673

8.3 ISO-8859-1 字符集

image-20240224201614411

8.4 GBxxx 字符集

image-20240224201625969

8.5 Unicode 码

image-20240224201636348

8.6 UTF-8

image-20240224201651487

image-20240224201703157

8.7 小结

image-20240224201717000
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)]

  • 44
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值