再讲Java数据类型之前,我补充一下之前初识java文章后的一些收尾知识点
println和prin的方法区别
两者相同点将双引号内容原样输出,不同点在于后者不换行!
演示代码如下:
public class Stu01{
public static void main(String[] args){
//进行打印输出比较:
System.out.println("姓名:");
System.out.println("呆呆");
System.out.println("性别:");
System.out.println("男");
}
}
但是,这样看起来输出的内容看起来不是那么友好。
略微改动一下,代码改过就必须要重新编译。
public class Stu01{
public static void main(String[] args){
//进行输出比较:
System.out.print("宠物姓名:");
System.out.println("呆呆");
System.out.print("性别:");
System.out.println("公");
}
}
同样,采取转义字符也可以做到这样的需求;常见的转义字符 \t ---空格 ;\n换行;
制表符的理解
\t空多少,要理解制表符的空间含义,以下这两张图表示的就是2和1里前面的第一个字符空了8位
使用\t 的空格的默认空间是一个制表符的空间大小,一个制表符是8位空间
标识(zhi)符
通俗的来讲,只要是起名字的地方,那个名字就是标识符,例如,包,类,变量,方法....
标识符定义原则
1.四个可以:数字,字母(虽然可以用汉字,不推荐),下划线,美元符号。
2.两个不可以:不可以数字开头;不可以使用java中的关键字。
3.见名知意:增加可读性;
4.Java属于强类型语言,对大小写字母敏感;
5.遵照驼峰命名规则 ;
6.长度无限制,但是不建议太长。
关键字
变量&常量
Q&A
Q: 狗狗的年龄:去年2岁,今天3岁,明年4岁。
A: 这段话分析: 年龄随着时间变化而增长,这个年龄就是变量;1岁,2岁。3岁,4岁是 常量中的字面常量.
字面常量分为:
A 整型常量 123 88 666
B 实型常量 3.1415
C 逻辑常量 true false
D 字符串常量 'With great power comes great responsibility'
E 字符常量 'c'
变量
1.变量的声明格式
2.变量的声明
3.变量的赋值
年龄我们给予整型类型,变量名字为age,变量值为3,默认情况下,整数的赋值就是十进制!
4变量的使用
5.变量的内存
不同类型在内存中开辟的空间大小也不一样,是通过变量值的名字来寻找具体数值。
内存分析-习题练习:
代码的执行是顺序是从上往下,
public class VarDemo03{
public static void main(String[] args){
int num1 = 5;
int num2 = 6;
num1 = num2;
num2 = num2 + 11;
num1 = num2 - 11;
num2 = num1;
System.out.println("num1="+num1);
System.out.println("num2="+num2);
}
}
输出中,双引号的内容原样输出,就是num1=,+号在这里代表了拼接的作用
6.变量的作用域
作用域:作用的范围
从上而下执行代码,首先要定义f的类型和值
不运行该代码
定义在方法中的变量叫做局部变量;
定义在类中且方法外的变量叫做成员变量。
通过反汇编指令>javap -v VarDemo02.class
初学者了解.class文件是如何被jvm执行的;
Java数据类型
java的数据类型大体分为基本数据类型和引用数据类型,初学者阶段重点学习基本数据类型;
在前面写的整数类型int 的常量和变量都是以十进制来书写
几进制可以理解成逢几进1的意思!
进制转换用计算机解决
整数类型常量
整型数据类型:
理解类型和占用存储空间即可
给变量赋值,值可以为不同进制
但是当数值超过了数据类型的范围后,例如我在byte类型变量赋值了超过127的常量后
整型数据中,long 这个类型表述范围很大,2的63次方的范围
原因在于:整数类型默认是 int 类型,所以9999999999是一个int 类型的数,对于int 类型来说,它超出了表述范围;若是想要把这个数给long类型 ,数值后面必须跟上l或者L
浮点类型常量
浮点类型对应数学中的点数
浮点类型中的常量又分为十进制形式(3.14),科学计数法形式(314e2)
浮点类型变量
有效位数:从左开始不为0的数到最后一个数之间。
0.0053015的有效数字是5位,即53015;54.0452的有效数字是5位,即540452
代码演示浮点类型的常量
代码演示浮点类型的变量
float的有效位数在6-7位,f0的赋值已超过6-7位;若是要正确赋给,必须后面加上F/f
用double类型表述这个变量,完整输出,因为double精度范围是很大的!
表面上看这个f9和d9显示出数值是一样的,这我用float和double这两个浮点类型进行赋值比较,这里面涉及到了 = 和==这两个运算符;
= 意思赋值运算,将等号右侧赋值给等号左侧;
== 意思判断 == 左右两侧的值是否相等。(结果为相等或不相等,显示true或者false);
实际研发中,金融领域开发中要注意(一般使用其他类)
字符类型
java中的使用单引号来表示字符的常量,字符型在内存中占用2个字节。
代码演示字符类型的变量
例如:我在''中添加一句话,说明''引起来的是单个字符。而打印输出内双引号的内容是原样输出!
简练代码
证明字符串是由不同的字符组成
问题分析:当看到这个结果时,我首先想到的是,再将数减回去(77-ch0)看看能不能得到10?
看来我的猜想是正确的,引出方程式x+10=77;77-x=10, 推算出来x(ch0)=67
char类型中,所看到的字面常量就是本身的值!但是在底层计算的时候,实际上是按照一个码来计算,char类型按照UnoCode编码表(兼容ASCII码)。
面试题:
分析:'3'是一个字符,但是它参与了+3的运算,3在ascii码中等于51,最后的相加结果一定是54,但是54对应的ascii是6
布尔类型
代码演示:创建布尔类型变量
布尔类型只占1位,和其他数值类型有点区别( byte,short int long 分别是1 2 4 8字节),(float, double 4 8 字节),(char 2个字节)
这段执行代码中,系统先允许5到底等不等于9,然后赋值给flag3
若是正确,返回true,后续结合更多的运算符!