文章目录

  • 浮点型变量
  • 字符型变量/常量
  • 布尔类型变量/常量
  • 运算符
  • 强制类型转换
  • 溢出
  • Scanner键盘输入
  • 选择结构
  • 循环结构


浮点型变量

double型、float型。
科学计数法:

double a = 314e2;  // 31400
double b = 314e-2;  // 3.14

float类型赋值需在后面加 f 或 F 。

float a = 3.14f;

浮点数不精确,不可用于比较;如需比较,需要调用java.math.*包下的BigDecimal方法。

字符型变量/常量

字符:char型。

char a = 't';
char b = '\n';   //转义字符
System.out.println('a' + 'b');   //输出数字
System.out.println("" + 'a' + 'b');   //输出 ab

java 科学计数法转换为数字 java float科学计数法_java


字符串(字符序列):String型。

String a = "hello";

布尔类型变量/常量

只有两个值:true、false。(不可用0或非0表示)

boolean a = true;

运算符

java 科学计数法转换为数字 java float科学计数法_java 科学计数法转换为数字_02


1、算数运算符

整数类型:

1、如果两个操作数有一个为long,则结果也为long;

2、没有long时,结果为int;

浮点类型:

1、如果两个操作数有一个为double,则结果为double;

2、只有两个操作数都为float,则结果才为float。

2、取模运算
“余数”符号和左边操作数相同。
如:-7 % 3 = -1 。

3、赋值运算符

java 科学计数法转换为数字 java float科学计数法_操作数_03


4、关系运算符

运算结果只有 true 和 false。

java 科学计数法转换为数字 java float科学计数法_操作数_04

5、逻辑运算符

java 科学计数法转换为数字 java float科学计数法_System_05

6、位运算

java 科学计数法转换为数字 java float科学计数法_java_06

System.out.println(3 << 2);  //相当于 3 * (2 ^ 2) = 12,输出12
System.out.println(12 >> 1);  //相当于 12 / (2 ^ 1) = 6,输出6

7、字符串连接符(+)
‘+’ 号两边有一个为String类型,则整体为String类型。

String a = "3";
int b = 4;
int c = 5;
System.out.println(a + b); // 输出 34
System.out.println(c + b);  //输出 9
System.out.println(c + b + a);  //输出93(9"3")
System.out.println(a + b + c);  //输出345 ("3""4""5")
char d = 'a';
System.out.println(d + 4);  //输出101 (97 + 4)

8、条件运算符
语法格式:

x ? y : z  // x 为布尔运算,若运算结果true,结果则为y;反之,结果则为z

运算符优先级

java 科学计数法转换为数字 java float科学计数法_System_07

强制类型转换

double x = 3.14;
int nx = (int)x;  //值为3
char c = 'a';
int d = c + 1;  //  97 + 1
System.out.println((char)d);  // 输出 b

溢出

int money = 1000000000;
int years = 20;
int total = money * years; //返回的total将会是负数(超出了int型的范围,溢出)
long total1 = money * years;  //因为money和years依旧为int型,返回的total1依旧溢出
long total2 = (long)money * years;  //将money转为long型,years同时也被转化,返回的total2没有溢出

Scanner键盘输入

需要调用 java.util.Scanner包。
运用:

Scanner scanner = new Scanner(System.in);
String name = scanner.nextLine();
int age = scanner.nextInt();

选择结构

double d = Math.random();  //返回 [0, 1] 之间的随机数
double r = 1;
double a = Math.PI*Math.pow(r,2);  //Math.pow(r,2) r的2次方

单选择结构

if (/*条件*/){

}

双选择结构

if (){

}
else{

}

多选择结构

if (){

}
else if (){

}
else if (){

}
else (){

}

switch多选择结构

switch (/* 变量 */){
case /*值1*/ : /*表达式*/;break; //其他行一样


default:
	/*表达式*/
	break;
}

循环结构

while循环

while (布尔表达式){
	循环体;
}

do-while循环

do {
		循环体;
		} while(布尔表达式);  //先执行,后判断

for循环

for (初始化语句1, 语句2, 语句3...; 判断语句; 步进迭代1, 2, 3...) {
	循环体;
}
System.out.println();  //println中‘ln’换行
System.out.print();   //不换行