表达式
使用运算符连接的变量或字面值,并可以得到一个最终结果。
自动类型提升
进行算数运算时:
两个操作数有一个为double;计算结果提升为double;
如果两个操作数中没有double;有一个为float,计算结果提升为float;
如果操作数中没有float,有一个为long,计算结果提升为long;
如果操作数中没有long,有一个结果为int,计算结果提升为int;
如果操作数中没有int,均为byte或short,计算结果仍提升为int;
特殊:任何类型与String相加(+)时,实为拼接,其结果自动提升为String。
能算则算,不能算就在一起。
int num1 = 123;
int num2 = 567;
String str = "abc";
String newstr = str + num1 + num2;
System.out.println(newstr);//abc123567
String newstr = num1 + str + num2;
System.out.println(newstr);//123abc567
String newstr = num1 + num2 + str;
System.out.println(newstr);//690abc
控制台输入
程序运行中,可以在控制台(终端)手动录入数据,再让程序继续运行。
导包语法:import 包名.类名;//将外部class文件功能引入到自身文件中。
使用顺序:
1.导入 java.util.Scanner;
2.声明Scanner类型的变量;
3.使用Scanner类中对应的函数(区分类型):
.nextInt(); //获得整数
.nextDouble(); //获得小数
.next(); //获得字符串
.next().charAt(0); //获得单个字符
注:如果输入了不匹配的数据,则会产生java.util.InputMismatchException(异常)
//package xx.xx; 包的声明,要求写在源文件的首行;
//import 关键字的引入写package之后;
import java.util.Scanner;//1.引入JDK提供的一个“扫描仪”的工具
public class TestScanner{
public static void main(String[]args){
//数据类型 变量名 = 值;
//2.声明Scanner
Scanner sc = new Scanner(System.in);//引用数据类型的声明方式
System.out.println("请输入一个值:");
//3.使用:基于Scanner类型的变量名 .nextInt(); .(句点,代表“的”的意思)
int i = sc.nextInt();//作用:可以在控制台接收一个整数的值,并保存在变量中
System.out.println("您输入的值为:" + i);//您输入的值为:123
}
}
import java.util.Scanner;//1.引入包
public class TestScanner2{
public static void main(String[]args){
//2.声名Scanner
Scanner sc = new Scanner(System.in);
System.out.println("请输入:");
//3.使用Scanner的变量接收
double result1 =sc.nextDouble();
System.out.print("值:" + result1);
//4.接收字符串
String result2 = input.next();
System.out.priint("请输入:"+result2) ;
//5.接收字符
char result3 = import.next().charAt(0);//获取一个字符串的首个字符
System.out.priint("请输入:"+result3) ;
}
}