本章知识点内容概括
数据类型:
1.基本数据类型
数值型
整数类型
byte(128~127),占1个字节的储存间
short(-2^15~2^15-1),占2个字节
int(默认类型-2^31~2^31-1,大约21亿),占4个字节
long(-2^63~2^63-1),占8个字节,声明long类型是在末尾+l/L(大小写L)
整数类型中的进制转换问题:
1.二进制(0~1)转十进制(0~9)
eg:二进制 1101
1*2^3 + 1*2^2 + 0*2^1 + 1*2^0
= 8 + 4 + 0 + 1
= 13
2.八进制(0~7)转10进制
eg:八进制12
1*8^1+2*8^0
=10
3.十进制转二进制
eg:十进制13 转后为1101
浮点类型
float(占4个字节的存储空间,是单精度类型,约小数点后7位,声明float类型时末尾+f/F),
double(默认类型,占8个字节的存储空间,双精度类型,是float精度的2倍)
字符型(char)
单引号表示字符常量('A'),Unicode编码被设计用来处理各种语言的所有文字,它占2个字节,可允许有65536个字
符;ASCII码占1个字节,可允许有128个字符(最高位是0),是Unicode编码表中前128个字符。(ASCII表可百度)
char类型在内存中储存的时该字符的Unicode值,所有char类型可以当作int类型来处理。
布尔型(boolean:true/false)用来判断逻辑条件,一般用于程序流程控制
2.引用数据类型
类(class)
接口(interface)
数组
注意事项:
1.Java是一种强类型语言,每个变量都必须声明其所属类型。
2.Java变量是程序中最基本的储存单元,其元素包含:变量类型(基本类型或者引用类型) 变量名(合法的标识符) 作用域
(for example:type varName [=value] [{,varName[=value]}])
3.final修饰的变量只能被初始化一次,变量名必须全部大写,多个单词加下划线区分
(foe example: public static final int MAX_VALUE;)
4.命名规范:变量和方法名:首字母小写和驼峰原则(getName);类名:首字母大写和驼峰原则(GoodMen)
运算符
Java支持的运算符:
1.算数运算符:+ - * / % ++ --
整数运算:默认是int类型,两个操作数有一个是long,结果为long,没有long类型则为int
浮点运算:默认是double类型,有一个是double类型,结果为double,两个都为float类型,结果为float类型
++num和num++的区别:前者是先自身+1再参与到接下来的运算中,后者是先参与运算,运算后自身+1
2.赋值运算符: = += -= *= /= %=
3.关系运算符:boolean类型,结果为true或者false
4.比较运算符:比较的结果是boolean值,浮点类型一般不进行比较,因为有精度的丢失
5.逻辑运算符:布尔值或者布尔表达式才能进行逻辑运算
&和&&的区别:&”:无论任何情况,“&”两边的表达式都会参与计算。
“&&”: 当“&&”的左边为false,则将不会计算其右边的表达式。即左false则false
|和||的区别:同&和&&的区别
6.位运算符(了解):
位运算符是对操作数以二进制byte位为单位进行操作和运算,操作数和结果都是整数。
如果操作数是char,byte,short,位移动作发生前会自动升为int类型,运算结果也是int类型。
7.条件运算符(三目运算符):
表达式: 表达式1(布尔表达式) ? 表达式2 :表达式3
含义是:如果表达式1为true,结果为表达式2;如果表达式1为falsse,结果为表达式3
运算时注意事项:
在赋值运算和算数运算时,要求数据类型必须一样,否则要进行数据类型转换。
数据类型转换分为自动转换(左边类型>右边类型)和强制转换(左边类型<右边类型)。
运算类型以左边*的类型为运算类型,右边也是*的类型,这是自动转换;
byte —> short,char—>int —>long—>float —>double是类型由低到高
强制转换:,强转要注意精度的丢失
for example:int n = (int)3.14
练习:
1.输入自己的名字,年龄和性别,分别用不同的变量接收,并将输入的信息做输出。
public class Text1 {
public static void main(String[] args) {
String name;
int age;
String gander;
//创建扫描器
Scanner input = new Scanner(System.in);
System.out.println("Please input your name here:");
name = input.nextLine();
System.out.println("Please input your age here:");
age = input.nextInt();
System.out.println("Please input your gander here:");
gander = input.next();
System.out.println("The computer recorded that:");
System.out.println("Your name is:"+name);
System.out.println("Your age is:"+age);
System.out.println("Your gander is:"+gander);
}
}
2.输入圆形半径,求圆形的周长和圆形的面积,并将结果输出
public class Text1 {
public static void main(String[] args) {
double r;
double l;//周长
double s;//面积
Scanner input = new Scanner(System.in);
System.out.println("请输入圆的半径:");
r = input.nextDouble();
l = 2 * Math.PI * r;
s = Math.PI * r * r;
System.out.println("该圆的半径是:"+r);
System.out.println("该圆的周长是:"+l);
System.out.println("该圆的面积是:"+s);
}
}