Java 基本类型与变量
在 Java 中数据类型有两类:
值类型(又叫内置数据类型,基本数据类型)
引用类型(除值类型以外,都是引用类型,包括 String、数组)
基本类型
Q:那什么是基本类型?
A:是由编程语言(Java)提供的数据类型,作为创建的基础。
Java 有 8 个基本类型,如下:
整数:(常用 int )
byte:字符数据类
short:短整型
int:整形
long:长整型
小数:(常用 double)
float:单精度浮点型
double:双精度浮点型
字符:
char:字符型数据类型,用单引号括起来的单个字符
其他:
boolean:布尔数据类型,只有两个值true或者false(注意: Java 语言区分大小写 true 和True是两个单词)
数据类型
大小
范围
默认值
byte
1 字节
-128 - 127
0
short
2 字节
-32768 - 32767
0
int
4 字节
-2^31 - 2^31 - 1
0
long
8 字节
-2^63 - 2^63 - 1
0L
float
4 字节
-10^38 - 10^38和
10^-38 - 10^38
0.0f
double
8 字节
-10^308 - 10^308和
10^-308 - 10^308
0.0d
char
2 字节
0 - 65535
'\u0000' (空格)
boolean
1/8 字节
true / false
false
1GB = 1024MB、1MB = 1024KB、1KB = 1024B、1B(Byte) = 8b(bit)
1bit = 1个二进制数、1Byte = 8字位 = 8个二进制数
PS: byte就是字节,还有一个常说单位叫字符。
扩充一个: String 字符串,用双引号扩起来单个或多个字符。(字符是单引号)
变量
变量:可以改变的量。用来记录一个值的标记,供后面使用。
变量定义的语法:
数据类型 变量名 = 值;
PS:注意数据类型必须和右边的值相匹配。如 int a = 1; 1是整数是一个 int 类型
数据类型的转化
数据类型的转化:隐式转换和显示转换。
隐式转换:不需要主动的进行代码处理,虚拟机自动完成。小范围转大范围数据类型
显示转换(强制转换):系统不识别语句,需要手动转换。大范围转小范围。
如:byte b = 1; int a = b;byte范围是-128 - 127 明显是小于int 类型所以不需要手动转换
但是:int i = 1; byte b = (byte) i,虽然 i 的值是 1 在 byte 的范围,但是声明的是 int 类型。
所以需要强制转换。
好比你说你拉了一车砖,别人就会以为很多,结果你车里只有一块砖头。所以需要提醒,你不用特意准备,我里面的数据你能接受了。
运算符
赋值、算术、比较、逻辑、三元
赋值:= 将右边的值或者带有值的变量赋给左边的变量
算术:+、-、*、/、%、自运算 ++ --
+号两个作用:
左右两端都是数值的时候作为加法运算
左右两端任意一端出现字符串的数据类型的时候作为拼接符。
自运算符(难点1):
++ -- 是讲自身的值加一或者减一
区别:
++放在变量名的前面:先自加在赋值
++放在变量名的后面:先赋值在自加
命名规范和注释
规则:
只能由数字,字母,下划线和$符号组成,并且不能以数字开头。
不能使用关键词或者保留字作为名称
规范:
驼峰规则
小驼峰,单词首字母小写,其余单词首字母大写。用来函数名、变量名
大驼峰,每一个单词首字母大写。工程名,类名。
见文识意,userRole用户角色,account账户,money金额,login()登录
注释
// 单行注释
/*
多行注释
*/
/**
文档注释*/
演示
新建一个名为 Demo的 txt 文本,修改后缀为 .java 打开该文件输入内容
public class Demo{ //这里是单行注释,注意 类名为 Demo 文件名必须也为Demo
public static void main(String[] args){
/*以上为固定格式,除了 Demo 和 args 可以改变名字
同时 main 函数也为程序的入口函数、主函数。
*/
byte b = 127;
short s = 188;
int i = 255;
/* 因为Long值有点特殊,所以在数字后面用一个大写的 L 标记也可用小写 l 不建议用小写难以区分 1 和 l */
long l = 1L;
float f = 1.0f; // 这个也和 Long 一样需要添加一个 f
double d = 1.0;
/* 以上就是基本类型的使用方式,以及变量的声明。变量在此的作用是,方便后面直接使用如下*/
System.out.println(b);
// 运行该程序会先输出 127
b = 1;
System.out.println(b);
// 此时打印输出的是 1
}
// 注意:写的任何代码都在主函数里。并且每一句话都有 分号 结尾
}
练习题
声明各个基本类型,并且赋值输出。PS:赋值就是 int a = 2; 将数字 2 赋值给 类型为 int 的变量 a,在这里 = 就用于来赋值,输出语句System.out.println()括号里面写输出的内容
在问题 1 的基础上,给变量进行重新赋值,然后打印输出。并尝试给一个超出数据类型范围的值。
纸上计算出以下值
int a = 1;
int b = a++ + ++a + --a + a++ - a--;
// 分别算出 a 与 b的值