强类型语言
数值类型
整数类型
byte 1字节
short 2字节
int 4字节
long 8字节
浮点类型
字符类型
boolean类型
//整数扩展: 进制 二进制0b 十进制 八进制0 十六进制0x
int i = 10;
int i2 = 010;
int i3 = 0x10;
//float 有限 离散 舍入误差 约等于
//double
float f = 0.1f;
double d = 1.0/10;
System.out.println(f == d);//false
float f1 = 232424353454354f;
float f2 = f1 + 1;
System.out.println(f1 == f2);//true
//字符扩展 unicode编码
char c1 = ‘a‘;
System.out.println(a);
System.out.println((int)a);//65
低 byte, short, char --> int --> long --> float --> double 高
运算中,不同数据类型的数据先转化为同一类型
强制类型转换 (类型)变量名; 高到低
自动类型转换 低到高
不能对布尔值进行转换
不能把对象类型转换为不相干的类型
内存溢出或精度问题
类变量(静态变量)独立于方法之外,static修饰。第一次被访问时创建,程序结束时销毁。(静态区)
实例变量(非静态变量)独立于方法之外,没有static修饰。对象创建时创建,对象销毁时销毁。(堆内存)
局部变量(栈内存)类的方法中的变量
final 常量名 = 值;
常量名一般用大写字母
//短路运算
int c = 5;
boolean d = (c<4) && (c++<4);
System.out.println(d);//false
System.out.println(c);//5,不会执行c++
//字符串连接符
int a = 10;
int b = 20;
System.out.println(""+a+b);//1020
System.out.println(a+b+"");//30
public static void main(String[] args) {
//创建一个扫描器的对象,用于接收键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("请输入数据:");
//判断是否还有输入
if(scanner.hasNextLine()){
//使用nextLine方式接收
String str = scanner.nextLine();//程序等待用户输入完毕
System.out.println("输入的内容为: "+str);
}
//IO流的类不关闭会一直占用资源
scanner.close();
}
public static void main(String[] args) {
//输入多个数字,计算平均数
Scanner scanner = new Scanner(System.in);
double sum = 0;
int num = 0;
while(scanner.hasNextDouble()){
double x = scanner.nextDouble();
num++;
sum += x;
}
System.out.println(num+"个数的和是:"+sum);
System.out.println(sum+"个数的平均值是:"+(sum/num));
scanner.close();
}
public static void main(String[] args) {
//switch多选择结构 break穿透
char grade = ‘c‘;
switch (grade){
case ‘A‘:
System.out.println("优秀");
break;
case ‘B‘:
System.out.println("良好");
break;
case ‘C‘:
System.out.println("及格");
break;
default:
System.out.println("错误");
}
}
循环结构
int[] numbers = {1,2,3,4,5}
for (int i = 0; i < 5; i++){
System.out.println(numbers[i]);
}
for (int x:numbers){
System.out.println(x);
}
break、continue
原文:https://www.cnblogs.com/notphy/p/14900860.html