Java数据类型
基本数据类型
四类八种:
1、整形(整数):byte(字节:8位 范围:2^7-1)、short(短整型:16位)、int(整形:32位)、long(长整形:64位)。
PS:默认识别的整数类型是int,常用的也是int类型。
2、浮点型(小数):float(单精度)、double(双精度)
PS:默认识别的小数是double,常用的也是double类型;如果想要将小数描述成float类型,需要在小数后面添加字母F。
3、字符型:char:单个字符(’‘标注、“”标准位字符串)、character。
4、布尔类型:boolean,只有True和False类型。
示例代码:
package xiao; public class Day_01 { public static void main(String[] args) { System.out.println(GetType(34512)); System.out.println(GetType("萧")); System.out.println(GetType(1.6)); } public static String GetType(Object o) { return o.getClass().toString(); } } 运行结果: class java.lang.Integer class java.lang.String class java.lang.Double
引用数据类型
1、String 字符串 文本类型
2、class:类类型 如Demo01 Object
3、Arrays:数组类型 int[]、double[]、String[]
4、enum:枚举类型
5、interface:接口类型
6、annotation:注解类型 @Controller、@Component、@Override
7、null:空类型 为一个空值
示例代码:
//String类型: package xiao; public class Demo02 { public static void main(String[] args) { System.out.println("中分头,背带裤;\n我是ikun你记住。"); System.out.println("姓名\t\t" + "年龄\t\t" + "分数"); System.out.println("张三\t\t" + "18\t\t" + "80"); System.out.println("ikun\t" + "21\t\t" + "100"); } } 运行结果: 中分头,背带裤; 我是ikun你记住。 姓名 年龄 分数 张三 18 80 ikun 21 100
运行机制
1、创建.java文件---源程序文件;
2、编译器对源程序文件进行编译转换==>生成可以被机器识别的字节码文件(.class文件)。
3、JVM(虚拟机)会对字节码文件进行加载执行。
备注:Java语言是一种跨平台开发语言,依据是有各个平台对应的虚拟机,而不同的虚拟机可以执行同一个class文件。
常量
对于整数来说
-
十进制:10、50、100
-
十六进制:0x开头描述的是一个十六进制的整数 0x001
-
二进制:0B开头的描述是一个二进制的整数 0B01
-
八进制:0开头的描述的是一个八进制的整数 01
示例代码:
package xiao; public class Demo03 { //常量 public static void main(String[] args) { System.out.println(21); //21就是常量 System.out.println("张三"); //张三就是常量值 System.out.println(true); //true也是常量值 System.out.println("----------------------"); System.out.println(10); //十进制 System.out.println(0B1011); //二进制 System.out.println(0156); //八进制 System.out.println(0x1283); //十六进制 } } 运行结果: 21 张三 true ---------------------- 10 11 110 4739
变量
在程序当中,会发生改变的量我们称之为变量
语法结构:
声明格式:数据类型 变量名称 = 变量值
备注:变量值我们一般又称之为初始值。
PS:
1、变量定义未赋值是不能使用的;
2、变量超出它所定义的范围也不能使用;
3、在相同的作用域当中,变量不能二次声明;
示例代码:
package xiao; public class Demo04 { //变量 public static void main(String[] args) { //定义变量 int age = 20; //在该作用域内,age将不能被再次定义 age++; System.out.println("年龄:" + age); String name = "name"; //未赋值将会报错 { String username = "ikun"; System.out.println("姓名:" + username); //仅能在作用域内使用 } } } 运行结果: 年龄:21 姓名:ikun
标识符
在程序中允许用户自定义的名称都叫标识符
规范
1、对于类class来说
类名的首字母一般要求大写
类名的开头允许数字开头
组成部分:字母(大小写)、数字、_(下划线)、$(美元符号)
如果有多个单词,一般采用驼峰命名
类名不能使用关键字(在IDEA中字体颜色会与其他字不同,且在Java中使用频率较高)
2、对于变量来说
几乎和类的规范相同
变量的命名字母开头一般都是小写的
3、对于常量来说
几乎和类的规范相同
一般字母为全大写
4、对于方法来说
几乎和类的规范相同
方法一般定义在类中的
方法的名称可以重复定义,前提是方法当中的参数列表不一样
类型转换
对于基本数据类型,尤其是数值型的数据
byte < short (char)< int < long < float < double
对于从小范围到大范围的转换,可以直接转换(直接赋值,隐式转换)
对于从大范围到小范围的转换,需要强制转换(显示转换)
强制转换有语法格式:
小范围数据类型 变量名 = (对应小范围数据类型)变量名;
如: double height = 1.75 float height2 = height; //报错 //正确方法 float height2 = (float) height;
备注:
char 字符型
char ch = 'A'; int num = ch; 输出对应的ASCII码
编码字符集
由于计算机当中只能识别01编码,不能识别生活中的语言文字和符号,需要把生活当中的语言文字和符号录入到计算机中,所以就出现了编码表。
常用的编码表有ISO-8859-1/GBK(中文)/Unicode编码表==>UTF-8
世界首张编码表ASCII表,所有编码表都支持ASCII表
PS:当程序出现乱码现象,检查文件的编码字符集。
解决办法:把代码复制出来,新建文件粘贴进去。把乱码文件删除掉。
GBK编码字符集规定,一个汉字占用两个字节
UTF-8编码字符集规定,一个汉字占用三个字节