操作符
import java.util.Scanner;
public class Test{
//记得要导入包:import java.util.Scanner;
Scanner s = new Scanner(System.in);
int a = s.nextInt();
System.out.println(a);
}
错误:
multiple 多重的,复合的
Multiple markers at this line
- Syntax error, insert “)” to
complete MethodDeclaration
解决办法:
原因是:调用函数时直接放在类中,没放在方法中。
解决:放在一个方法里,或者放到构造函数里。
(我的理解就是:胖友,你要把它写在主类里呀!)
算数操作符
1、
Scanner s = new Scanner(System.in);
2、
a.nextInt();
b.nextFloat();
c.nextLine();
3、注意
需要注意的是,如果在通过nextInt()读取了整数后,再接着读取字符串,读出来的是回车换行:"\r\n",因为nextInt仅仅读取数字信息,而不会读取回车换行"\r\n".
所以,如果在业务上需要读取了整数后,接着读取字符串,那么就应该连续执行两次nextLine(),第一次是取走回车换行
第二次才是读取真正的字符串
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int i = s.nextInt();
System.out.println("读取的整数是"+ i);
String rn = s.nextLine();
String a = s.nextLine();
System.out.println("读取的字符串是:"+a);
}
}
package basis;
import java.util.Scanner;
public class Test{
//记得要写在主方法里
public static void main(String[]args) {
@SuppressWarnings("resource")
//记得要导入包:import java.util.Scanner;
Scanner s = new Scanner(System.in);
//s。nextInt()整数
int a = s.nextInt();
System.out.println("读取的整数的值是:" + a);
//s.nextFloat()浮点数
float b = s.nextFloat();
System.out.println("读取的浮点数的值是:" + b);
//s.nextLine()字符串
String c = s.nextLine();
String d = s.nextLine();
System.out.println("读取的字符串是:" + d);
作业 BMI
package basis;
import java.util.Scanner;
public class Test{
public static void main(String[]args) {
Scanner s = new Scanner(System.in);
System.out.println("请输入身高:");
//控制台输入语句,并把输入的值赋给height。
float height = s.nextFloat();
System.out.println("请输入体重:");
float weight = s.nextFloat();
float BMI = weight/(height*height);
System.out.println("当前的BMI是:" + BMI);
//if语句判断
if (BMI < 18.5) {
System.out.println("身体状态是:体重过轻");
}else if(BMI <24){
System.out.println("身体状态是:正常范围");
}else if(BMI < 27) {
System.out.println("身体状态是:体重过重");
}else if(BMI < 30) {
System.out.println("身体状态是:轻度肥胖");
}else if(BMI < 35) {
System.out.println("身体状态是:中度肥胖");
}else {
System.out.println("身体状态是:重度肥胖");
}
}
}
作业 自增
int i = 1;
int j = ++i + i++ + ++i + ++i + i++;
i | 1 |
---|---|
j | 2 |
关系操作符作业
package basis;
import java.util.Scanner;
public class Test{
public static void main(String[]args) {
Scanner s = new Scanner(System.in);
//输入数值
int a = s.nextInt();
System.out.println("第一个整数:" + a);
int b = s.nextInt();
System.out.println("第二个整数:" + b);
//比较
System.out.println("比较" + a +">" + b +":" + (a>b));
System.out.println("比较" + a +">=" + b +":" + (a>=b));
System.out.println("比较" + a +"<" + b +":" + (a<b));
System.out.println("比较" + a +"<=" + b +":" + (a<=b));
System.out.println("比较" + a +"==" + b +":" + (a==b));
System.out.println("比较" + a +"!=" + b +":" + (a!=b));
}
}
逻辑操作符作业
int i = 1;
boolean b = !(i++ == 3) ^ (i++ ==2) && (i++==3);
System.out.println(b);
System.out.println(i);
异或^:不同为真。
1、!(i++ == 3)为true,i = 1;
2、i++ ==2 为true,i = 2;
异或 ^ false
3、&& 短路与,后面不计算了
4、System.out.println(i); 再次遇到i , i = 3
三元操作符
import java.util.Scanner;
public class Test{
public static void main(String[]args) {
Scanner s = new Scanner(System.in);
System.out.println("今天是周几?");
int a = s.nextInt();
//因为这句话会返回其中一句String类型的值
//记得写 String k ,最后输出k。
String k =a<6 ?"今天是工作日":"今天是休息日";
System.out.println(k);
}
}