变量指的程序运行时可以改变的量,是在内存开辟的一段空间存储的一些数据。 类型则是对变量的种类进行了划分,不同的类型的变量具有不同的特性。
语法:
int 变量名 = 初始值;
int a = 100;
System.out.print(a);
注意:
=
是用来赋值的,数学中的相同用==
来表示。;
,这不是python。
在java中,整型也是占4个字节。字节是什么东西就不需要我再科普了吧。
4个字节可以表示的数据范围:-2^32 ~ 2^32-1
打印整型的最大于最小数据:public class Main {
public static void main(String[] args) {
System.out.println(Integer.MAX_VALUE);
System.out.println(Integer.MIN_VALUE);
}
}
//打印结果:
/*
2147483647
-2147483648
*/
如果我们超出最大范围会怎么样呢?
数据会溢出!
为了避免数据溢出的情况,java也提供了具有更大数据范围的类型,long
。
语法格式:
long 变量名 = 初始值;
使用:
long a = 100L;
System.out.print(a);
-2^64 ~ 2^64-1
System.out.println(Long.MAX_VALUE);
System.out.println(Long.MIN_VALUE);
//打印结果:
/*
9223372036854775807
-9223372036854775808
*/
这种数据范围,还是能够支持绝大多数的场景的。
语法格式:
double 变量名 = 初始值;
int a = 1;
int b = 2;
System.out.print(a/b);
//打印结果:0
Java中也有与C语言相同的截断操作,整型运算的结果一定是整型,小数部分会直接截断。 为了计算小数部分,java也提供了浮点型。
double a = 1;
double b = 2;
System.out.print(a/b);
//打印结果:0.5
double的误差
double num = 1.1;
System.out.print(num*num);
//打印结果:1.2100000000000002
java的double类型的内存布局遵循IEEE754标准,尝试使用有限的内存空间表示无限的小数,势必存在一定的误差。
格式:
float 变量名 = 初始值;
代码实例:
float num = 1.0f;
System.out.print(num);
float类型再java中占4个字节,同样遵循IEEEE754标准,由于表示的数据精度范围较小,一般在工程中优先考虑double,不太使用float。
格式:
char 变量名 = 初始值;
代码实例:
char ch = 'A';
单引号 + 单个字母
的形式表示字符字面值。char chinese = '我';
System.out.print(chinese);
//打印结果:我
执行javac如果出现错误,加上以下内容:
javac -encoding UTF-8 Test.java
语法:
byte 变量名 = 初始值;
代码实例:
byte value = 0;
System.out.print(value);
//0
语法:
short 变量名 = 初始值;
代码实例:
short value = 0;
System.out.print(value);
语法:
boolean 变量名 = 初始值;
代码实例:
boolean value = False;
System.out.print(value);
//False
字符串就是一些字符的集合。 语法:
String 变量名 = "初始化";
代码实例:
String name = "yui";
System.out.print(name);
//yui
String name = "my name is \"yui\"";
大家可以去百度一些常见的转义字符。
字符串与字符串拼接
String str = "hello ";
String str2 = "world";
String str3 = str + str2;
System.out.print(str3);
//hello world
字符串与整数拼接
String str = "hahaha";
int a = 100;
String mix = str+a;
System.out.print(mix);
//hahaha100
这段代码也就说明了,当+
表达式中存在字串时,都是执行字符串拼接行为,这也就导致了我们在打印数据时,可以利用这一点。
int a = 100;
int b = 200;
System.out.print("a = "+a+",b = "+b);
就是该变量能生效的范围,一般是变量定义所在的代码块(大括号)
class Test{
public static void main(String[] args){
{
int x = 10;
System.out.println(x);//编译通过
}
System.out.println(x);//编译不通过
}
}
硬性指标:
就是基本的四则运算+ - * /
加上%
(取模)
+= -= *= /= %=
int a = 10;
a+=1; // a = a + 1
++/--
int a = 10;
a++;
/*
a = a
a = a+1
*/
++a;
/*
a = a+1;
a = a;
*/
== != < > <= >=
注意: 关系运算符的表达式返回值都是 boolean 类型
&& || !
注意: 逻辑运算符的操作数(操作数往往是关系运算符的结果)和返回值都是 boolean 你只要知道:
&&
等同于且
||
等同于或
!
等同于非
就可以了。Java 中对数据的操作的最小单位不是字节, 而是二进制位. 位运算符主要有四个:
& | ~ ^
位操作表示 按二进制位运算. 计算机中都是使用二进制来表示数据的(01构成的序列), 按位运算就是在按照二进制位的 每一位依次进行计算
Java 类型汇总. 以上的内容介绍的是基本数据类型,后续会给大家介绍引用数据类型。 由于 Java 是强类型语言, 因此对于类型检查较严格, 因此像 && 之类的运算操作数必须是 boolean,整体来看, Java 的运算符的基本规则和 C 语言基本一致。