🔥博客主页: A_SHOWY
🎥系列专栏:力扣刷题总结录 数据结构 云计算 数字图像处理 力扣每日一题_
变量
变量是程序的基本组成单位,是内存中的一个数据存储空间。变量有三个基本要素:类型+名称+值。变量的使用,声明后赋值后即可使用
变量使用注意事项:同c++很类似
程序中+号使用:左右都是数值型的时候,做加法运算,当有其中一边是字符串的时候,做拼接运算。
数据类型
基本数据类型+引用数据类型
整型细节
- JAVA整型常量默认值是int,声明long型常量需要在后边加l或者L
int n1 = 1;//四个字节 int n2 = 1L;//不对,因为先识别是long型变量不能放入int long n3= 1L; //匹配,正确
- bit:最小存储单位 byte:基本存储单位 1byte = 8bit(位)
浮点型细节
- 浮点数 = 符号位 + 指数位 + 尾数位
- 尾数可能丢失造成精度损失
- 默认是double类型,需要float加f
-
.123等价于0.123,5.12e2【5.12* 10 的2次方】5.12E-1【5.12除以10的-2次方】double num = .123; System.out.prinln(num5);//0.123 System.out.prinln(5.12e2);//512.0 System.out.prinln(5.12E-2);/0.0512
- 浮点数使用陷阱
double num1 = 2.7; double num2 = 8.1/3;//计算得到的 System.out.prinln(num1);//2.7 System.out.prinln(num2);//接近2.7小数 //得到结果对小数的运算结果进行相等判断的时候,要小心 //应该是两个数的差值绝对值在某个精度区间内判断 System.out.prinln(Math.abs(num1 - num2)); if(num1 == num2) System.out.prinln("相等"); //错误 if(num1 - num2 < 0.000001) System.out.prinln("相等"); //正确
matools.com api在线文档
字符类型细节
- 一个字符char,一个char两个字节4
- 比如当输出94的字符时,输出用94表示的字符
char c4 = 94;//输出a
-
char的本质是一个整数,默认输出时,是unicode码对应的字符,要输出数字,要进行(int)强制类型转换
-
char类型可以运算
System.out.println("a" + 10); //107 char c5 = 'b' + 1; System.out.println((int)c5);//99 System.out.println(c5);// c
-
字符类型本质探讨,字符型存储到计算机中,需要将对应码值找出来
存储:‘'a' ——> 码值97——>二进制(1100001)——>存储
读取二进制(1100001)——>码值97——>’a‘——>显示
-
编码特性
ASCll码由一个字节表示的,128个字符,但是一个字节表示256个字符。Unicode是ASCll扩展由两个字节表示字符,兼容ASCll码表。utf8大小可变编码,字符用一个字节,汉字用三个字节 ,可以认为是unicode码的一个改进,互联网上使用最广unicode实现方式。gbk字符用一个字节,汉字用两个字节。big5 繁体中文
布尔类型细节
- 占用1个字节,适用于逻辑判断
- 不可以用0和非0整数代替true或者false,和c语言不同
API在线文档下·
基本数据类型转换
精度小的可以无误转换为精度大的
自动类型转换细节
- 有多种数据混合运算,系统自动转成容量最大的数据类型
- (byte,short)和char之间不会相互自动转换
- byte,short和char三者之间可以相互计算,计算时首先转换为int类型
char b2 = 1; short s1 = 1; short s2 = b2 + s1;//错误的运算时会提升精度到int byte c1 = 1; byte c2 = 2; byte c3 = c1 + c2;//错误,只要有运算就是int
-
布尔类型不参与转换
强制类型转换细节
- 当进行数据精度大的到精度小的运用强制转换
- 强制转换符号只针对最近的数有效,可以用小括号提升优先级
- char可以保存int的常量值,但是不能保存int的变量值,需要强转
char c1 = 100; int m = 100; char c2 = m;//不行 char c3 = char(m);//可以
基本数据类型 -> string
int n1 = 100;
double b2 = 2.2;
String str1 = n1 + "";
String str2 = b2 + "";
string -> 基本数据类型
保证s5格式正确,如果是字母,就会出现异常
String s5 = "123";
// 使用基本数据类型对应的包装类的相应方法,得到基本数据类型
int num1 = Integer.parseInt(s5);
double num2 = Double.parseDouble(s5);
float num3 = Float.parseFloat(s5);
long num4 = Long.parseLong(s5);
byte num5 = Byte.parseByte(s5);
boolean b = Boolean.parseBoolean("true");
short num6 = Short.parseShort(s5);
字符串转成字符:从字符串取出第一个字符
System.out.println(s5.charAt(0));
取出以后是字符1
作业练习:文章来源:https://www.toymoban.com/news/detail-802534.html
文章来源地址https://www.toymoban.com/news/detail-802534.html
String name = "cpy";
int age = 22;
double score = 100.0;
char sex = '男';
String hoppy = "篮球";
System.out.println("姓名\t年龄\t成绩\t性别\t爱好\n" + name + "\t" +
age + "\t" + score + "\t" + sex + "\t" + hoppy);
到了这里,关于JAVA学习笔记——第三章 变量的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!