前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Java百炼成神】魂力篇——Java之变量

【Java百炼成神】魂力篇——Java之变量

作者头像
陶然同学
发布2023-02-27 10:09:34
4350
发布2023-02-27 10:09:34
举报
文章被收录于专栏:陶然同学博客

目录

一、变量

1.1【入门】

        1.1.1概念

        1.1.2入门案例1:定义变量存储整数

        1.1.3入门案例2:特殊方式定义变量

        1.1.4随堂练习:一次定义多个变量

        1.1.5入门案例3:一次定义多个变量

        1.1.6入门案例总结

        1.1.7思考

1.2【进阶】

        1.2.1进阶案例1:定义变量存储最大整数

        1.2.2进阶案例2:定义变量存储小数

        1.2.3进阶案例3:定义变量存储单个文字

        1.2.4 进阶案例4:定义变量存储多个文字

        1.2.5进阶案例5:定义变量存储真/假

        1.2.6进阶案例总结

        1.2.7思考

1.3【高级】

        1.3.1高级案例1:变量重新赋值

        1.3.2高级案例2:数字类型变量的四则运算             

        1.3.3高级案例3:字符串拼接

        1.3.4变量作用范围

        1.3.5高级案例总结

        1.3.6思考

1.4总结

1.5【扩展】

        1.5.1int与进制

        1.5.4思考

一、变量

1.1【入门】

        1.1.1概念

计算机内存中,用来反复存/取数据的区域,叫做变量。

变量在内存中可以存储各种各样的数据,有整数、有小数、有文字 等。  变量里存储的值也可以被随时改变,以方便参与计算机程序的各项运算。  下面我们来看一下,Java 中,我们如何使用变量进行数据的存取 

        1.1.2入门案例1:定义变量存储整数

                需求说明

程序运行时,需要向内存保存一个整数 10,并将保存在整数展示在控制台 

代码语言:javascript
复制
public static void main(String[] args) { 
 //定义一个变量,起名叫 a,同时为变量 a 赋予一个整数 10 
 int a = 10; 
 //控制台展示变量 a 的值 
 System.out.println(a); 
} 

                代码实现

这里仅展示 main 方法代码

                案例总结

定义变量的语法格式

 案例中代码的执行顺序和现实生活的对比,如下:

        1.1.3入门案例2:特殊方式定义变量

                需求说明

程序运行时,需要向内存保存一个整数 10,并将保存在整数展示在控制台。  该案例使用特殊方式定义变量

                代码实现

代码语言:javascript
复制
public static void main(String[] args) { 
 //定义一个变量,起名叫 a. 
 int a; 
 //为变量 a 赋予一个整数 10 
 a=10; 
 //控制台展示变量 a 的值 
 System.out.println(a); 
}

                案例总结

两个案例中,定义变量并为变量赋值的方式,效果相同

 注意:  Java 中,定义变量里的“=”为:为某个变量赋值/向某个变量中存储值

        1.1.4随堂练习:一次定义多个变量

                需求说明

现在我们有 10 个整数需要保存到计算机内存中,分别是:  100,200,300,400,500,600,700,800,900,1000  保存完毕后,还需要在控制台依次展示。  效果如下: 

        1.1.5入门案例3:一次定义多个变量

现在我们有 10 个整数需要保存到计算机内存中,分别是:  100,200,300,400,500,600,700,800,900,1000  保存完毕后,还需要在控制台依次展示。  根据前面讲解,我们可能写出的代码如下:

 我们看到,当我们定义多个变量时,每个变量定义占用一行,虽然代码标准规范,但占用行 数较大,我们可以合并,一次定义多个变量。

                代码实现A:先一次定义多个 再赋值多个

代码语言:javascript
复制
public static void main(String[] args) { 
 //一次定义多个变量 
 int a,b,c,d,e,f,g,h,i,j; 
 //一次为多个变量赋值 
 a=100; 
 b=200; 
 c=300; 
 d=400; 
 e=500; 
 f=600; 
 g=700; 
 h=800; 
 i=900; 
 j=1000; 
 System.out.println(a); 
 System.out.println(b); 
 System.out.println(c); 
 System.out.println(d); 
 System.out.println(e); 
 System.out.println(f); 
 System.out.println(g); 
 System.out.println(h); 
 System.out.println(i); 
 System.out.println(j); 
} 

                代码实现B:一次定义多个变量并赋值

代码语言:javascript
复制
public static void main(String[] args) { 
 //一次性定义多个变量并赋值 
 int a=100,b=200,c=300,d=400,e=500,f=600,g=700,h=800,i=900,j=1000; 
 System.out.println(a); 
 System.out.println(b); 
 System.out.println(c); 
 System.out.println(d); 
 System.out.println(e); 
 System.out.println(f); 
 System.out.println(g); 
 System.out.println(h); 
 System.out.println(i); 
 System.out.println(j); 
}

        1.1.6入门案例总结

1、定义变量的标准语法格式:

 2、 “=”:为某个变量赋值/向某个变量中存储值;  3、变量必须先定义,才能存取数据; 

 4、定义变量后,必须先赋值才能使用;

 5、一次定义多个变量,多个变量间用逗号分隔;

 6、变量名大小写敏感(即大写字母变量和小写字母变量是两个不同的变量)

        1.1.7思考

1、以下代码是否能够正常执行

代码语言:javascript
复制
public static void main(String[] args) { 
 int aa; 
 aa=10; 
 System.out.println(bb); 
}

2、以下代码是否能够正常执行

代码语言:javascript
复制
public static void main(String[] args) { 
 int aa; 
 aa=10; 
 System.out.println(AA); 
}

3、以下代码是否能够正常执行 

代码语言:javascript
复制
public static void main(String[] args) { 
 int aa; 
 System.out.println(aa); 
 aa=10; 
}

4、以下代码是否能够正常执行 

代码语言:javascript
复制
public static void main(String[] args) { 
 int aa=10;bb=20;cc=30; 
 System.out.println(aa); 
 System.out.println(bb); 
 System.out.println(cc); 
}

5、以下代码是否能够正常执行

代码语言:javascript
复制
public static void main(String[] args) { 
 int aa,bb;cc; 
 System.out.println(aa); 
 System.out.println(bb); 
 System.out.println(cc); 
}

6、以下代码是否能够正常执行

代码语言:javascript
复制
public static void main(String[] args) { 
 int aa=10,bb,cc; 
 bb=20,cc=30; 
 System.out.println(aa); 
 System.out.println(bb); 
 System.out.println(cc); 
}

7、以下代码是否能够正常执行

代码语言:javascript
复制
public static void main(String[] args) { 
 int aa=10,bb,cc; 
 bb=20; 
 cc=30; 
 dd=40; 
 System.out.println(aa); 
 System.out.println(bb); 
 System.out.println(cc); 
 System.out.println(dd); 
}

8、以下代码是否能够正常执行

代码语言:javascript
复制
public static void main(String[] args) { 
 int aa=10,bb,cc; 
 bb=20; 
 cc=30; 
 System.out.println(aa); 
 System.out.println(bb); 
 System.out.println(cc); 
 cc=50; 
} 

1.2【进阶】

        1.2.1进阶案例1:定义变量存储最大整数

                需求说明

现在需要将整数 10 亿和整数 30 亿分别存储进计算机内存,并在控制台展示 

                问题说明

编写代码时,整数 10 亿可以正常保存使用,  而整数 30 亿保存报错

 因为 int 类型的变量,保存的整数大小是有上限的  (Java 规定,int 类型保存的最大值 2147483647)  所以若需要保存大整数,则需要更换更大的变量类型。

                代码实现

代码语言:javascript
复制
public static void main(String[] args) { 
 //int 类型保存的整数最大值为:2147483647 
 int aa = 1000000000; 
 //long 类型保存的整数最大值为:9223372036854775807 
 long cc = 3000000000L; 
 
 System.out.println(aa); 
 System.out.println(cc); 
}

                案例总结

Java 中保存整数的变量类型有四种:

名称

占用大小

范围

byte

1 字节

-128~127  例如:byte aa = 100;

short

2 字节

-32768~32767  例如:short aa = 100;

int

4字节

-2147483648~2147483647  约 43 亿个数  例如:int aa = 100;

long(长整型)

8 字节

-9223372036854775808~9223372036854775807  long 类型在赋值时,需要在值后加入字母 L 区分其 是一个长整型  例如:long aa = 100L;

四种整数类型各有各的存储范围,超出范围进行存储,会导致报错。  开发中保存整数一般使用 int,需保存的整数超出 int 范围,才会使用 long 

        1.2.2进阶案例2:定义变量存储小数

                需求说明

现在需要保存小数 100.99 到计算机内存,并在控制台展示 

                问题说明

若使用 byte/short/int/long 这样的整数类型保存小数,则会报错

                代码实现

代码语言:javascript
复制
public static void main(String[] args) { 
 //定义小数类型变量 a,保存小数 10.5 
 double a = 10.5; 
 System.out.println(a); 
}

                案例总结

Java 中,保存小数的类型叫做浮点型。 

名称

占用大小

范围

float

4 字节

float 类型在赋值时,需要在值后加入字母 F  例如:float aa = 100.5F;

double

8 字节

例如:double aa = 100.5;

开发中我们一般使用 double 保存小数 

        1.2.3进阶案例3:定义变量存储单个文字

                需求说明

现在需要保存单个字符(文字)A 到计算机内存,并向控制台展示 

                问题说明

之前学过的整数、小数类型变量,都无法直接保存单个字符,  我们需要使用 Java 中专门保存单个字符的变量类型:char 

                代码实现

代码语言:javascript
复制
public static void main(String[] args) { 
 //定义 char 类型变量 a,向变量 a 保存单个字符'A' 
 char a = 'A'; 
 System.out.println(a); 
}

                案例总结

Java 中保存单个字符(文字)的类型叫做字符型 

名称

占用大小

范围

char

2 字节

必须使用’’包裹,且不能空着, 必须填写一个字符  例如:char aa = ‘好’;

                思考

1、以下代码是否能够正常执行

代码语言:javascript
复制
public static void main(String[] args) { 
 char a = 'AB'; 
 System.out.println(a); 
}

2、以下代码是否能够正常执行

代码语言:javascript
复制
public static void main(String[] args) { 
 char a = ''; 
 System.out.println(a); 
}

3、以下代码是否能够正常执行

代码语言:javascript
复制
public static void main(String[] args) { 
 char a = '棒'; 
 System.out.println(a); 
}

4、以下代码是否能够正常执行,若删除\会如何 

代码语言:javascript
复制
public static void main(String[] args) { 
 char a = '\''; 
 System.out.println(a); 
}

        1.2.4 进阶案例4:定义变量存储多个文字

                需求说明

现在需要将“传智专修学院”多个字符保存进计算机内存,并展示在控制台。  效果如下: 

                问题说明

若该需求我们使用 char 类型解决,会浪费大量时间去定义 char 类型变量

所以我们应使用 Java 中专门保存多个文字的类型,String(字符串)类型 

                代码实现

代码语言:javascript
复制
public static void main(String[] args) { 
 //定义一个 String 类型的变量 a,向变量 a 中保存多个字符 
 String a = "传智专修学院"; 
 System.out.println(a); 
}

                案例总结

char

String

用单引号’’包裹

用双引号””包裹

仅保存单个字符,不能保存空字符

能保存多个字符,可以保存空字符

能够保存转义字符

转义字符:某些特殊符号无法直接保存,必须加\转换成计算机能够识别的字符。  常见转义字符有:  \’ 单引号  \\ 反斜杠  \t 制表符 

        1.2.5进阶案例5:定义变量存储真/假

                需求说明

Java 语言可以向计算机内存保存 “真” 或 “假” 这两个特殊值。  真:true  假:false

下面我们来分别保存并展示 

                代码实现

代码语言:javascript
复制
public static void main(String[] args) { 
 //定义布尔类型的变量 a,用来存储 true,真 
 boolean a = true; 
 System.out.println(a); 
 //定义布尔类型的变量 b,用来存储 false,假 
 boolean b = false; 
 System.out.println(b); 
} 

                案例总结

Java 中,用来保存“真”/“假” 值的类型,叫做布尔型 

名称

占用大小

范围

boolean

1 字节

只有两个值 true 与 false。  例如:boolean aa = true;

布尔型在后期 Java 学习中,大量运用在各种判断和控制上。

        1.2.6进阶案例总结

Java 语法中,变量的数据类型大致分为两大类:  基本数据类型 和 引用数据类型 

Java 有无限种引用数据类型,每天还在不断推陈出新,  我们学习 Java 并不会将所有引用数据类型都列举学习,而是开发用哪个,就学哪个。 

        1.2.7思考

1、请根据需求选择使用最恰当的数据类型,并定义变量保存,最后展示控制台:  a) 保存整数:15 亿  b) 保存小数:10.55  c) 保存布尔值:真  d) 保存:“我爱 Java” 这样的字符串  e) 保存整数:50 亿  f) 保存一个单引号: “’” 这样的单个字符  g) 保存:15.99abc 

1.3【高级】

        1.3.1高级案例1:变量重新赋值

                需求说明

我们知道变量里保存的值是可以被随时替换的,  下面我们需要将数字 10 保存到变量中,然后再用数字 20 替换数字 10。

                代码实现

代码语言:javascript
复制
public static void main(String[] args) { 
 //定义 int 类型变量 a,保存整数 10 
 int a = 10; 
 //重新向变量 a,赋予整数 20.(原来的整数 10 被替代) 
 a = 20; 
}

                案例总结

1、变量可以使用“=”进行重新赋值,次数不限  2、重新赋值时,不能超出变量类型的规定范围

 3、一般情况下,重新赋值时,建议赋予相同类型的值

 4、变量不能被重复定义

        1.3.2高级案例2:数字类型变量的四则运算             

                需求说明

变量值可以随时被改变,也可以参与到计算机的各种运算中。  下面需要:  1、定义一个变量,起名为 num,保存整数 10.  2、num 变量和 9 相加,将运算后的结果重新保存到 num 变量中,并展示控制台  3、num 变量减去 1,将运算后的结果重新保存到 num 变量中,并展示控制台  4、num 变量乘以 2,将运算后的结果重新保存到 num 变量中,并展示控制台  5、num 变量除以 9,将运算后的结果重新保存到 num 变量中,并展示控制台  效果如下:

                代码实现

代码语言:javascript
复制
public static void main(String[] args) { 
 //1、定义变量 num,保存整数 10 
 int num = 10; 
 //2、使用变量 num 的值加 9,将运算结果再重新保存回变量 num 中 
 num = num+9; 
 System.out.println(num); 
 //3、使用变量 num 的值减 1,将运算结果再重新保存回变量 num 中 
 num = num-1; 
 System.out.println(num); 
 //4、使用变量 num 的值乘以 2,将运算结果再重新保存回变量 num 中 
 num = num*2; 
 System.out.println(num); 
 //5、使用变量 num 的值除以 9,将运算结果再重新保存回变量 num 中 
 num = num/9; 
 System.out.println(num); 
}

                案例总结

以 num = num+9;为例,运算并赋值的执行流程如图

整体案例代码的执行流程如下:

综上,执行代码时,会先进行算式运算,最后进行赋值操作  

                思考

1、定义变量,保存小数 10.55,使用变量除以 5,运算结果再保存回变量,展示到控制台  2、以下代码是否正确执行,效果是什么,效果是否准确? 

代码语言:javascript
复制
public static void main(String[] args) { 
 int num = 5; 
 //进行除法运算 
 num = num/2; 
 System.out.println(num); 
}

3、以下代码是否正确执行,效果是什么?

代码语言:javascript
复制
public static void main(String[] args) { 
 int num = 5; 
 //进行除法运算 
 num = num/0; 
 System.out.println(num); 
}

4、以下代码执行效果是什么,控制台展示语句执行后,num1 和 num2 的变量值是否发生改 变 

代码语言:javascript
复制
public static void main(String[] args) { 
 int num1 = 10; 
 int num2 = 20; 
 System.out.println(num1+num2); 
}

        1.3.3高级案例3:字符串拼接

                需求说明

1、要求定义一个字符串类型变量 str,保存:“传智专修学院”  2、在变量 str 上继续追加字符串“软件工程系-Java 方向”  3、控制台展示变量 str,效果如下: 

                代码实现

代码语言:javascript
复制
public static void main(String[] args) { 
 //定义一个字符串类型变量 str,并保存字符串 
 String str="传智专修学院"; 
 //先用+号进行字符串拼接,再将拼接结果重新保存到 str 中 
 str = str+" 软件工程系-Java 方向"; 
 System.out.println(str); 
}

                案例总结

1、与整数型、浮点型不同,字符串类型变量的“+”不是数学运算,而是追加拼接字符串。  2、 

同样也是先进行“+”拼接运算,再进行“=”赋值

                思考

1、以下代码效果是什么? 

代码语言:javascript
复制
public static void main(String[] args) { 
 String str = "今天星期"; 
 str = str+1+2; 
 System.out.println(str); 
}

2、以下代码效果是什么? 

代码语言:javascript
复制
public static void main(String[] args) { 
 String str = "今天星期"; 
 str = str+(1+2); 
 System.out.println(str); 
}

3、要求定义四个变量,分别是:  1、字符串类型变量,存储“一年有”  2、字符串类型变量,存储“天”  3、整数类型变量,存储:36  4、整数类型变量,存储:5  现需要在控制台展示时,展示如下效果:

请编写代码,完成以上效果  

        1.3.4变量作用范围

                知识讲解

每个变量都是有自己的作用范围,超出范围无法正常使用。  变量的作用范围:仅限于离自己最近的花括号{}内

                思考

1、以下代码能否正常执行?若能正常执行,效果是什么? 

代码语言:javascript
复制
public static void main(String[] args) { 
 int num = 10; 
 { 
 num = 20; 
 } 
 System.out.println(num); 
}

2、以下代码能否正常执行?若能正常执行,效果是什么?

代码语言:javascript
复制
public static void main(String[] args) { 
 { 
 int num = 10; 
 System.out.println(num); 
 } 
} 

3、以下代码能否正常执行?若能正常执行,效果是什么?

代码语言:javascript
复制
public static void main(String[] args) { 
 int num1 = 10; 
 { 
 int num2 = 20; 
 System.out.println(num1); 
 } 
 System.out.println(num2); 
} 

4、以下代码能否正常执行?若能正常执行,效果是什么?

代码语言:javascript
复制
public static void main(String[] args) { 
 int num1 = 10; 
 { 
 int num2 = 20; 
 } 
 System.out.println(num1+num2); 
}

5、以下代码能否正常执行?若能正常执行,效果是什么? 

代码语言:javascript
复制
public static void main(String[] args) { 
 int num1 = 10; 
 { 
 int num2 = 20; 
 num1 = num2+num1; 
 } 
 System.out.println(num1); 
} 

6、以下代码能否正常执行?若能正常执行,效果是什么?

代码语言:javascript
复制
public static void main(String[] args) { 
 int num1 = 5; 
 { 
 int num2 = 8; 
 } 
 System.out.println("幸运数字:"+num1+num2); 
}

        1.3.5高级案例总结

1、变量可以使用“=”进行重新赋值,次数不限  2、重新赋值时,不能超出变量类型的规定范围

 3、一般情况下,重新赋值时,建议赋予相同类型的值

 4、变量不能被重复定义

 5、代码会先进行右侧运算,最后进行“=”赋值。

 6、运算结果若可能存在小数,建议使用浮点型变量。  (因为除号"/"两端若为整数,运算结果会舍弃小数位)

 7、任何情况下,整数不能除 0,否则报错

 8、任何类型和字符串直接进行“+”运算,都是在拼接字符串

9、最优先执行小括号里的运算 

 10、每个变量都有自己的作用范围,即离自己最近的{}。  (变量超出作用范围无法使用,强制使用程序报错停止) 

        1.3.6思考

1、以下代码的效果是什么? 

代码语言:javascript
复制
public static void main(String[] args) { 
 double xnum = 5.0; 
 int num1 = 2; 
 xnum = xnum/num1; 
 
 System.out.println(xnum); 
}

2、以下代码的效果是什么? 

代码语言:javascript
复制
public static void main(String[] args) { 
 int num1 = 5; 
 int num2 = 10; 
 String str1 = "1"; 
 
 System.out.println(num1+(num1+num2)+(str1+num2)+(num1+str1+num2)); 
}

3、以下代码的效果是什么? 

代码语言:javascript
复制
public static void main(String[] args) { 
 int num1 = 5; 
 int num2 = 10; 
 String str1 = "1"; 
 
 System.out.println(num1/0+(num1+num2)+(str1+num2)+(num1+str1+num2)); 
} 

4、以下代码的效果是什么 

代码语言:javascript
复制
public static void main(String[] args) { 
 int num1 = 5; 
 { 
 int num2 = 1; 
 num1 = num2+num1; 
 } 
 System.out.println(NUM1); 
}

1.4总结

1、变量必须先定义,才能存取数据;

 2、定义变量后,必须先赋值才能使用。(赋值不能超出变量类型的规定范围)

 3、变量名大小写敏感(即大写字母变量和小写字母变量是两个不同的变量)

 4、变量不能被重复定义

 5、每个变量都有自己的作用范围,即离自己最近的{}。  (变量超出作用范围无法使用,强制使用程序报错停止)

 6、基本数据类型有四类八种,常用的有 int/long/double/boolean。   引用数据类型有无限种,目前我们常用一个 String

1.5【扩展】

        1.5.1int与进制

                进制知识

现实世界的数字是由十进制组成。  十进制:每一位有 0123456789,逢十进一  例如:9 再加 1,就会进位,变成 10

计算机世界的数字是由二进制组成。  二进制:每一位有 01,逢二进一  例如:1 再加 1,就会进位,变成 10

 后面的发展中,相继又发展出了八进制和十六进制:  八进制:每一位有 01234567,逢八进一

 十六进制:每一位有 0123456789,ABCDEF,逢十六进一

        1.5.4思考

1、如果我需要更方便存储更多的数字,我们使用二进制、十进制、八进制、十六进制哪个更 好  2、从占用字节的角度来回答,为什么在整型使用中,  不是直接使用最大的 long,而是根据情况判断使用 int 或 long 呢?  3、现在要让计算机存储 真/假,我们是选择使用 char 存储字符’真’/’假’ 比较好,  还是选择使用 boolean 存储 true/false 更好?从占用字节的角度来回答 

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-06-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
  • 一、变量
    • 1.1【入门】
      •         1.1.1概念
      •         1.1.2入门案例1:定义变量存储整数
      •         1.1.3入门案例2:特殊方式定义变量
      •         1.1.4随堂练习:一次定义多个变量
      •         1.1.5入门案例3:一次定义多个变量
      •         1.1.6入门案例总结
      •         1.1.7思考
    • 1.2【进阶】
      •         1.2.1进阶案例1:定义变量存储最大整数
      •         1.2.2进阶案例2:定义变量存储小数
      •         1.2.3进阶案例3:定义变量存储单个文字
      •         1.2.4 进阶案例4:定义变量存储多个文字
      •         1.2.5进阶案例5:定义变量存储真/假
      •         1.2.6进阶案例总结
      •         1.2.7思考
    • 1.3【高级】
      •         1.3.1高级案例1:变量重新赋值
      •         1.3.2高级案例2:数字类型变量的四则运算             
      •         1.3.3高级案例3:字符串拼接
      •         1.3.4变量作用范围
      •         1.3.5高级案例总结
      •         1.3.6思考
    • 1.4总结
      • 1.5【扩展】
        •         1.5.1int与进制
        •         1.5.4思考
    相关产品与服务
    对象存储
    对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档