DESKTOP-9EO7JOG_2020_11_18
2020_11_18
一、数据类型
数据类型的作用是明确变量中可以存储什么样的数据。定义变量时就要明确数据类型。
1.java中的数据类型分类
(1)基本数据类型(原生数据类型)
基本数据类型定义的变量中存储的是真实的数据。
基本数据类型有8种(byte,short,int,long,float,double,boolean,char)
类型 | 大小 | 示例 | 取值范围 |
---|---|---|---|
boolean | 1字节,8位 | true | true、false |
byte | 1字节,8位有符号数 | -100 | -128 ~ +127 |
short | 2字节,16位有符号数 | 100 | -32768 ~ +32767 |
int | 4字节,32位有符号数 | 150 | -2147483648 ~ + 2147483647 |
long | 8字节,64位有符号数 | 10000 | -263 ~ +263-1 |
char | 2字节,16位unicode字符 | 'a' | 0 ~ 65535 |
float | 4字节,32位有符号数 | 3.14f | -3.4E38 ~ 3.4E38 |
double | 8字节,64位有符号数 | 2.4e3d | -1.7E308 ~ 1.7E308 |
char类型是指用单引号引住任意一个字符 char ch=’a‘
String类型不是基本数据类型,而是引用类型,String是java中的一个类
float类型的数据以f(不区分大小写)结尾,例如:3.14f
(2)引用数据类型
引用数据类型定义的变量中存储的是内存地址编号。包括类,接口,数组。
注:引用数据类型其实就是C语言中的指针。
2.数据类型转换
不同的基本数据类型之间进行运算时需要进行类型转换。
数据类型转换分为自动转换和强制转换。
(1)自动类型转换
小字节数的数据类型赋值给大字节数的数据类型时会进行自动。
byte类型与byte类型运算后是int类型;
byte类型与short类型运算后是int类型;
short类型与short类型运算后是int类型;
(2)强制类型转换
大字节数的数据类型赋值给小字节数的数据类型时要进行强制 。
强制类型转换方法
在要转换的类型前面用小括号和目标类型转换。
如:int a=3;
double b=3.1;
a=(int)b;
3.位运算
位运算是指二进制运算
二进制使用0和1表示数据的
二进制中的一个0或一个1就是一位(称为1bit)。八个二进制中的0或八个二进制中的1就是8位。8位就是一个字节。
二进制与十进制的转换
4常用运算符
运算符分类
(1) 赋值运算符
(2) 算术运算符
+ - * / %
(3) 复合运算符
+= -= *= /=
例如:
int i = 1;
i = i+ 3;
可以写成
i+=3; 相当于 i = i+3;
i -=3;
i/=3;
i*=3;
i%=3;
定义变量 byte b1 = 1,byte b2=2;
(1) 使用+=时不进行类型转换,例如 b1+=b2; 计算后b1依然是byte类型。
(2) 使用+时进行类型转换,例如b1=b1+b2是错误的,因为byte类型与byte类型运算后是int类型。
(3) 自增,自减
++ --
例如
int i =2;
int s1 = i++; //++在i的后面,因此先算=,后算i++,所以s1的结果是2,i的结果是3;
int s2 = ++i;//++在i的前面,因此算是i++,后算=,所以s2的结果是3,i的结果是3;
(5) 关系运算符
> >= == <= < !=
(6) 逻辑运算
&& || !
& | !
(7) 位运算
(8) 三元运算
?:
int x=1,y=2,num=30;
int z = num>5?x:y;
System.out.println(z);
(9) 运算符优先级
二、从键盘输入数据
1.导入Scanner类
import java.util.Scanner;
2.定义Scanner对象
Scanner input =new Scanner(System.in);
3.使用Scanner对象输入数据
调用相应的方法输入数据
方法名称 | 说明 |
---|---|
String next() | 获得一个字符串 |
int nextInt() | 获得一个整数 |
double nextDouble() | 获得一个双精度浮点数 |
boolean hasNext() | 判断是否有输入数据,如果有输入数据,则返回true,否则返回false |
学习心得
勤能补拙,熟能生巧
近期评论