JAVA第二周
表达式与语句
表达式
是由操作数和运算符按一定的语法形式组成的用来表示某种运算或含义的符号序列
表达式值的数据类型称为表达式的数据类型
语句
每一个语句是一完整的执行单位,以分号结尾
以下四种表达式后加分号,就成了语句:
- 赋值表达式
- 变量的++和–运算
- 方法调用
- 对象创建表达式
语句块和作用域
语句块有一对{}以及其中的语句组成,语句块中的语句可以有零行到多行。
每个语句块定义了一个作用域,在作用域内定义的变量是局部变量,局部变量只有在对应的语句块具有可见性。
public class Example2_7{
public static void main(String[] args){
int i = 0;{
int j = 0;
System.out.println(i);//语句块外定义的变量,在语句块内可见
}
i = 10
//j=5;//j不可用,语句块内定义的变量在语句块外不具有可见性
}
}
简单的输入与输出
输入和输出是程序中的重要组成部分,是实现人机交互的手段。在java中,通过使用
System.in
和System.out
对象分别与键盘和显示器发生联系而完成程序的输入与输出。
输出
System.out
对象包含着多个向显示器输出数据的方法。
-
println
:向标准输出设备(显示器)输出一行文本,并换行 -
print
:向标准输出设备(显示器)输出一行文本,但是不换行
System.out.println("hello world!");
System.out.print("hello");
System.out.print("world!");
//输出
//hello world!
//hello world!
输入
- 一种方法是利用
System.in
对象直接读取键盘输入 - 另一种更加方便的方法是利用
java.uitl.Scanner
间接地从System.in
读取键盘输入
//数字
import java.util.Scanner;
public class Example2_8{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
//输入工资
System.out.println("请输入基本工资:")
double salary = sc.nextDouble();
System.out.println("基本工资为:"+salary);
}
}
//字符
import java.util.Scanner;
public class Example2_9{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
//输入工资
System.out.println("请输入基本信息:")
String empName = sc.next();
System.out.println("职工姓名:"+empName);
}
}
//一个字符串和一个整数
package chap02;
public class Example2_10{
public static void main(String[] args){
//这个程序需要两个参数,第一个是任意字符串,第二个应该是一个整数
int anInt = Integer.parseInt(args[1].trim());
System.out.println("命令行的第一个参数是字符串:"+args[0]);
System.out.println("命令行的第二个参数是整数:"+anInt);
}
}
java Example2_10 sString 123
作业
工资计算器界面设计
import java.util.Scanner;
public class SalaryCaculateBound{
public static void main(String[] args){
//显示欢迎界面及菜单项
System.out.println("欢迎使用职工工资计算系统!");
System.out.println("选择进行 操作的类型:1.用户类型选择 2.单个职工工资计算 3.多个工资工资计算 4.退出");
//获取菜单项的编号
Scanner sc = new Scanner(System.in);
int op = sc.nextInt();
//获取输入菜单编号范围是否在1~4之间
boolean opResult = op == 1 || op == 2 || op == 3 || op == 4;
String result=opResult?"你选择的是1~4":"您的选择不在 1~4之间";
//输入职工基本信息
System.out.println("请输入职工姓名:");
String empName = sc.next();
System.out.println("职工姓名:"+empName);
System.out.println("请输入职工性别:男 true 女 false");
boolean sex = sc.nextBoolean();
System.out.println("性别:"+(sex?'男':'女'));
//输入工资信息,工资分为3个部分:基本工资、津贴、奖金
System.out.println("计算工资");
System.out.println("请输入基本工资:");
double basicPay = sc.nextDouble();
System.out.println("请输入津贴:");
float allowance = sc.nextFloat();
System.out.println("请输入奖金:");
int bouns = sc.nextInt();
//计算工资并输出
double salary = basicPay + allowance+bonus;
System.out.println("工资:"salary);
}
}
方案二:
/**
* @param args
*/
import java.util.Scanner;
public static void main(String[] args) {
// TODO Auto-generated method stub//自动生成的方法
Scanner scanner = new Scanner(System.in);
//获取键盘输入,new:在Java中,new关键字被使用来创建一个新的对象,为Scanner
System.out.println("欢迎使用职工工资计算系统");
//打印语句
String tip = "选择执行的操作 1;用户选择 2;工资结算 3;退出";
int opType = 0;
//设置一个初始的选择值
while(true){
//判断循环语句
System.out.println(tip);
opType = scanner.nextInt();
//将键盘输入的值赋给opType,注意值为整数型
scanner.nextLine();
//换行
if (opType == 1){
//判断语句
System.out.println("请输入用户姓名:");
String name = scanner.nextLine();
//将键盘输入的值赋给name字符串
System.out.println("请输入用户的性别: true:男 false: 女");
boolean sexType = scanner.nextBoolean();
//将键盘输入的布尔值赋给sextype
//每一个变量都有自己的数据类型,不同的数据类型对应scanner.next的不同类型
System.out.println("姓名:"+name);
if (sexType == true){
//再次进行男女的判断
System.out.println("输入的性别为:"+"男士");
}else{
System.out.println("输入的性别:"+"男士");
}
scanner.nextLine();
}else if (opType == 2){
System.out.println("请输入基本工资:");
double basic = scanner.nextDouble();
scanner.nextLine();
System.out.println("请输入奖金:");
double bonus = scanner.nextDouble();
scanner.nextLine();
System.out.println("请输入绩效:");
double kpi = scanner.nextDouble();
scanner.nextLine();
double sum = basic + bonus + kpi;
System.out.println("总工资为:"+sum);
scanner.nextLine();
//输入工资,然后相加起来。
}else if (opType == 3){
System.out.println("退出");
break;
}
}
}
}