第二章 变量
变量原理
为什么需要变量
一个程序就是一个世界
我们可以用变量代表事物
变量是程序的基本组成单位
不论是使用哪种高级程序语言编写程序,变量都是其程序的基本组成单位,比如 : //变量有三个基本要素(类型+名称+值)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LEDA2gf2-1664409461992)(D:TODO7IMGimgimage-20220927221045363.png)]](https://file2.kaopuke.com:8081/files_image/2023060823/aecde4b6ed84479da9a09e9356a7ecc2.png)
变量的基本原理
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3ZwHf9le-1664409461993)(D:TODO7IMGimgimage-20220927221541668.png)]](https://file2.kaopuke.com:8081/files_image/2023060823/983eb1f436804065ae2fd33923039e1a.png)
变化的量值(变量)
变量相当于内存中一个数据存储空间的表示,你可以把变量看做是一个房间的门 牌号,通过门牌号我们可以找到房间,而通过变量名可以访问到变量(值)。
public class test {
public static void main(String[] args) {
//声明变量
int a;
a = 100;
int b = 800;
System.out.println(a);
System.out.println(b);
}
}
E:7777777chapter02>javac test.java
E:7777777chapter02>java test
100
800
E:7777777chapter02>
变量快速入门
public class var01 {
public static void main(String[] args) {
int age = 20;
double score = 99;
char gender = '男';
String name = "king";
System.out.println("人的信息如下");
System.out.println(age);
System.out.println(score);
System.out.println(gender);
System.out.println(name);
}
}
E:7777777chapter02>javac var01.java
E:7777777chapter02>java var01
人的信息如下
20
99.0
男
king
E:7777777chapter02>
变量使用的注意事项
- 变量表示内存中的一个存储区域 [不同的变量,类型不同,占用的空间大小不同, 比如 : int 4 个字节, double 就是 8个字节]
- 该区域有自己的名称[变量名]和类型[数据类型]
- 变量必须先声明,后使用,即有顺序
- 该区域的数据可以在同一类型范围内不断变化
- 变量在同一个作用域内不能重名
- 变量=变量名+值+数据类型,这一点请大家注意。变量三要素
”+“的使用
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EC9Vxyfc-1664409461994)(D:TODO7IMGimgimage-20220927232337892.png)]](https://file2.kaopuke.com:8081/files_image/2023060823/677dec7cb7474e13be7d545756e58592.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n7wnNCV2-1664409461995)(D:TODO7IMGimgimage-20220927232601975.png)]](https://file2.kaopuke.com:8081/files_image/2023060823/43bc1bae8b5742deb46789a24dceae0e.png)
运算顺序从左到右
public class plus {
public static void main(String[] args) {
System.out.println(100 + 8);
System.out.println("100" + 8);
System.out.println(100 + 8 + "hello");
System.out.println("hello" + 100 + 8);
}
}
E:7777777chapter02>javac plus.java
E:7777777chapter02>java plus
108
1008
108hello
hello1008
E:7777777chapter02>
基本数据类型
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sUongpJT-1664409461995)(D:TODO7IMGimgimage-20220927233215266.png)]](https://file2.kaopuke.com:8081/files_image/2023060823/4d005e1a07344bbf859cb4b8f22c5d71.png)
java数据类型两大基本类
基本数据类型
引用数据类型
string是一个类,不是基本数据类型
byte 1
short 2
int 4
long 8
char 2
float 4
double 8
boolean 1 true false
整数类型
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EhLkh6Pw-1664409461996)(D:TODO7IMGimgimage-20220927233941095.png)]](https://file2.kaopuke.com:8081/files_image/2023060823/a4a227ab0ada41c7b5f14ad3e9a8a60c.png)
字节为基本单位
比特为最小单位
1字节=8比特
整数默认int
数字后加“L”为long类型
浮点类型
可以表示小数
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GRIZ7bIV-1664409461996)(D:TODO7IMGimgimage-20220927235434716.png)]](https://file2.kaopuke.com:8081/files_image/2023060823/bfb6facd47424ddfb1e8284bdb811d5d.png)
浮点数在极其中存放形式:浮点数=符号位+指数位+尾数位
尾数部分可能丢失,造成精度损失(小数都是近似值)
浮点型默认double,通常也用double
小数后加“F"为float
十进制数形式 5.12 512.0f .512
科学计数法 5.12e2为5.12*10的二次方
5.12e-2为5.12*10的负二次方
浮点数使用陷阱:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0kdstNvK-1664409461997)(D:TODO7IMGimgimage-20220928000739265.png)]](https://file2.kaopuke.com:8081/files_image/2023060823/d3a1974fa05d44508b1aa69ad47d643d.png)
当我们对运算结果是小数的结果进行相等判断时要小心,应该以两个数的差值的绝对值,在某个精度范围内判断
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V5ytBuUb-1664409461997)(D:TODO7IMGimgimage-20220928001302015.png)]](https://file2.kaopuke.com:8081/files_image/2023060823/bf9c786ce2144e0eaa1e7441c9b67ee5.png)
java API文档使用
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Dj7G44l7-1664409461997)(D:TODO7IMGimgimage-20220928002245626.png)]](https://file2.kaopuke.com:8081/files_image/2023060823/2cdb4a7b788a4656b3b79319433ba350.png)
Application Programming Interface,API,应用程序编程接口
java类的组织形式:
包的引入——————接口/类/异常/枚举
类————字段/构造器/成员方法
按包去找类再去找方法,也可以检索
字符类型
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vWx7u6GK-1664409461998)(D:TODO7IMGimgimage-20220928003400440.png)]](https://file2.kaopuke.com:8081/files_image/2023060823/9570b40e09254ebda5f47f0e6b7b3854.png)
字符类型可以存放数字,输出数字所代表的字符
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2K7aGXQ7-1664409461998)(D:TODO7IMGimgimage-20220928003950409.png)]](https://file2.kaopuke.com:8081/files_image/2023060823/a6b1c9b5d8234a9ab0c76255d30a8826.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rCxaF3Ej-1664409461999)(D:TODO7IMGimgimage-20220928004343317.png)]](https://file2.kaopuke.com:8081/files_image/2023060823/0c36d56d1ce64616bc039fb7bb06ddaf.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cdBi8tKC-1664409461999)(D:TODO7IMGimgimage-20220928004334767.png)]](https://file2.kaopuke.com:8081/files_image/2023060823/0932a48cb092419f96020ce1f969058c.png)
小测试
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XwOf562u-1664409462000)(D:TODO7IMGimgimage-20220928004705873.png)]](https://file2.kaopuke.com:8081/files_image/2023060823/7d65bb75b60e4b2b9eee5f44954b0805.png)
字符类型本质探讨
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N8JgpmLv-1664409462000)(D:TODO7IMGimgimage-20220928004824637.png)]](https://file2.kaopuke.com:8081/files_image/2023060823/099eadba10894ec497cba165613b54a7.png)
布尔类型
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Absj5ZQK-1664715587172)(D:TODO7IMGimgimage-20220929232735658.png)]](https://file2.kaopuke.com:8081/files_image/2023060823/e5710254d05742d4a3f81c3f8626ea86.png)
布尔类型占一个字节
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fWDLnu3g-1664715587172)(D:TODO7IMGimgimage-20220929232936741.png)]](https://file2.kaopuke.com:8081/files_image/2023060823/97b11e6223e5489da4721d38e48c1a8b.png)
在JAVA里,不可以用0和非0整数替代false和true
基本数据类型转换
自动类型转换
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5i4qO21c-1664715587173)(D:TODO7IMGimgimage-20220929233353726.png)]](https://file2.kaopuke.com:8081/files_image/2023060823/a31147aa3a3a431cbec9fabfde42301a.png)
int a = 'c'; //对应ASCII码数值99
double d = 80; //80.0
使用细节

- 注意浮点型默认为double类型,在不同数据类型运算中要注意

-
char (byte short)之间没有自动类型转换
-
当把数赋值给byte时,先判断该数是否在其范围内,是则可以,但是当把变量赋值时,会先判断类型!!

- byte short char三者在(存在就会,哪怕一个)计算时会首先转换为int类型,
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f6W9rmCU-1664715587176)(D:TODO7IMGimgimage-20220930000018581.png)]](https://file2.kaopuke.com:8081/files_image/2023060823/41e24a4e443a428a84e4ae2cf76bb7b5.png)
当同一类型计算时也会发生转换!!
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MoYeELzZ-1664715587176)(D:TODO7IMGimgimage-20220930000226329.png)]](https://file2.kaopuke.com:8081/files_image/2023060823/acde8be0ee254443b107ceabc1b0f3c2.png)
- 布尔类型不参与自动转换
无法转换
- 自动提升原则,表达式结果类型自动提升为操作数中最大的类型
float精度大于int
强制类型转换
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d9mIsegx-1664715587177)(D:TODO7IMGimgimage-20221002201427973.png)]](https://file2.kaopuke.com:8081/files_image/2023060823/a0d51e338c0945bbb9e6108a0aea6a23.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0jMSy6zc-1664715587177)(D:TODO7IMGimgimage-20221002201451334.png)]](https://file2.kaopuke.com:8081/files_image/2023060823/46c59d895e5a4e1badf883b08c0fce36.png)
溢出和精度损失
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zmZtOnX2-1664715587178)(D:TODO7IMGimgimage-20221002201847545.png)]](https://file2.kaopuke.com:8081/files_image/2023060823/9a2134a65dee4ae4b3c0fb98164292f4.png)
细节:
-
进行数据的大小从大到小,使用强制类型转换
-
强转符号针对最近数据,往往使用小括号提升优先级
-
char类型可以保存int的常量值,但不能保存int的变量值
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zZDxPMAc-1664715587178)(D:TODO7IMGimgimage-20221002202452204.png)]](https://file2.kaopuke.com:8081/files_image/2023060823/30ff9f17179f45c8b7ea9ea2b5346e69.png)
-
byte和short类型在运行运算时,当作int型处理
基本数据类型转字符串

加( + “”)即可
字符串转基本数据类型

String s5 = "123";
int num1 = Integer.parseInt(s5);

字符串转为char类型
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-upW2s2tp-1664715587180)(D:TODO7IMGimgimage-20221002203929340.png)]](https://file2.kaopuke.com:8081/files_image/2023060823/f48ec3cfb54f49aaa489b3a196b29d8f.png)
s5 = 123;
输出结果为1
输出异常
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LgxOBkCl-1664715587181)(D:TODO7IMGimgimage-20221002204308417.png)]](https://file2.kaopuke.com:8081/files_image/2023060823/82594fcc62ed40b484d88289e5a10b57.png)
!!!!!注意
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tylA7Rad-1664715587181)(D:TODO7IMGimgimage-20221002204948562.png)]](https://file2.kaopuke.com:8081/files_image/2023060823/0fa9c5d37af74ef2852f5865050f4b74.png)
注意指标位用引号
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pz9Da2Ld-1664715587181)(D:TODO7IMGimgimage-20221002205620422.png)]](https://file2.kaopuke.com:8081/files_image/2023060823/1a8b1eea550e46cba5bf84f3b713078d.png)
最后
以上就是谨慎棉花糖最近收集整理的关于JAVA学习之旅 第二章汇总第二章 变量的全部内容,更多相关JAVA学习之旅内容请搜索靠谱客的其他文章。
发表评论 取消回复