数据类型
一、变量
定义:存储在内存中的值并且能够发生改变。需要把数据放到内存中才看可以计算。变量的本质就是在计算机的内存中代表一个可以操作存储空间,位置是确定的,但是里面的值是暴不确定可以改变。可通过变量名来访问该对应存储的内存空间里面的值(变量名存储的是这个数据的存在的内存地址)从而操作这个内存存储的值。
变量是存储在内存中的数据,可以更改,例如给变量名a赋值整数10;
int a = 10; // 整数
二、数据类类型
java是一个强类型的语言,每个变量都要必须声明数据类型,变量的数据类型决定了占据存储空间的大小,为了节省内存空间,我们都需要更据数据的大小再去选择适合的数据类型。
Java的数据类型有:
在进行变量赋值前,需要声明这个变量是什么数据类型,以 a=5,不同的数据类型为例:
int a = 5; //整数 占用4个字节
short a = 5; //短整型 占用2个字节
byte a = 5; //字节型 占用1个字节 注意:byte的使用返回的区间在-127到+128
long a = 5; //长整型
float a = 5; //浮点型,单精度
double a = 5; //浮点型,双精度
三、变量命名规则
-
如果以两个单词组成的,以驼峰命名法命名,比如myName
-
变量名最好有有意义,不要写a,b,c等等,例如名字:name,身份证:ID
-
不要写Java内已经存在的关键字,比如int,public等
-
首字母可以以下划线、英文字母、符号开头、其他部分可以是数字、字母、下划线、符号。
四、变量的类型
1、局部变量:
在方法或者语句块内部定义的变量,叫做局部变量。声明周期从声明的位置开始到方法或者语句块执行完毕就会销毁。局部变量必须先声明赋值才能使用!
2、全局变量:
也叫成员变量或者叫实例变量,在类里面并且在方法外面定义的变量叫全局变量,作用域整个类中,从属于对象,声明周期伴随着对象始终。如果不自动初始化,他会自动初始化该变量的默认初始值。因为该变量是在堆内存开辟的。
3、静态变量:
也叫类变量,用static修饰,从属于类,在类加载的时候就会被初始化,声明周期从类加载到类卸载。
五、数据类型转换
一定是数值直接才可以转换,任何数值+“” 空字符串就不是数值类型了,就不能运算。
public class DataType {
public static void main(String[] args) {
int a=10;
double b=9.8;
int c=(int) b;
System.out.println(c);//结果9
//由于大的空间的值不能放到小的空间,需要强制类型转换,
//但是会丢失精度
double d=a;
// 把小空间的值放到更大的空间,能放下,叫自动类型转换
System.out.println(d);// 输出10.0
}
}
六、控制台输入
现在我们需要和程序做交互,即可以输入数据,才结果程序执行,重而得到输出,首先我们需要导入包:
import java.util.Scanner; //导包
public class ScannerPackage {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);//创建input输入对象
System.out.print("请输入姓名:");
String name=input.next(); //输入字符串
System.out.print("请输入年龄:");
int age=input.nextInt(); //输入整数
System.out.println("你好我叫"+name+",我的今年"+age+"岁!");
}
}
输出结果就是:
七、运算符
1、算数运算符
这个就是普通的算术运算符,没有什么特别的
分别是:加减乘除 + - * / %(取余)
2、条件运算符(比较)
大于 >
小于 <
等于 =
两个数值比较相等 ==
不等于 !=
3、逻辑运算符
与或非:
&& 并且: 条件A&&条件B 条件A和条件B都同时满足为true,才会返回结果为true
|| 或者 : 条件A||条件B 条件A或者条件B其中一个满足为true,返回结果为true
!: 非 取反 != 不等于 !true返回false
4、赋值运算符
int a=5; //把右边的值通过“=”赋值给左边
5、三目运算符
//语法:比较条件?满足true赋的值:满足false赋的值
int r1=8>5?1:0;
System.out.println(r1); // 若为true,输出1,若为false,输出0
6、常量
用final修饰的变量叫常量,用于经常使用固定的值而并不会经常发送改变的值
//比如一周等于7天,这是不会改变的,我们就可以在变量名前面加上final,即变成了常量
final int WEEKDAY=7;