目录
转义字符
-
\t :相当于tab
-
\r:换行之后换到居中的位置
-
\n:换行之后会换到下一行开头的位置
-
System.out.println('a' + "\t" + "b");// \t相当于tab // \r:换行:换行之后换到居中的位置 System.out.println("a" + "\r" + "b"); // \n:换行:换行之后会换到下一行开头的位置 System.out.println('a' + "\n" + "b");
运算符
关系运算符
-
&&(短路与/逻辑与)
-
||(短路或/逻辑或)
-
&(与)
-
|(或)
-
!(非)
-
// 关系运算符:&&(短路与/逻辑与)全1才是1,否者为0 System.out.println(true && true);// true System.out.println(false && true);// false System.out.println(true && false);// false System.out.println(false && false);// false // 关系运算符:||(短路或/逻辑或)全0才是0,否者是1 System.out.println(true || true);// true System.out.println(false || true);// true System.out.println(true || false);// true System.out.println(false || false);// false // 关系运算符:!取反 // 关系运算符:&(与) System.out.println(true & true);// true System.out.println(false & true);// false System.out.println(true & false);// false System.out.println(false & false);// false // 关系运算符:| (或) System.out.println(true | true);// true System.out.println(false | true);// true System.out.println(true | false);// true System.out.println(false | false);// false
-
// 面试常见题
-
&和&&的区别 &是将所有表达式全部判断完之后输出结果
-
&&先判断第一个表达式,如果第一个表达式为false不会继续判断其他表达式,直接输出结果false
-
如果其他表达式有异常,&程序直接终结;&&因为不会判断剩余表达式,所以程序继续执行,不会终止
-
|和||区别 |是将所有表达式全部判断完之后输出结果
-
||先判断第一个表达式,如果第一个表达式为true不会继续判断其他表达式,直接输出结果true
-
如果其他表达式有异常,|程序直接终结;||因为不会判断剩余表达式,所以程序继续执行,不会终止
-
“&”与“|”无论第一个判断条件是否成立,逻辑运算符前后两个条件都会进行判断。
“&&”与“||”
&&第一个条件不成立,后面的条件均不进行判断,返回false;
||第一个条件成立,后面的条件均不进行判断,返回true。 -
// &和&&区别
String s = null; System.out.println(false && s.equals("a"));//判断第一个表达式后false,直接输出结果 //System.out.println(false & s.equals("a"));//全部判断完,检测到异常,程序终止 System.out.println("*****************************************************");
-
比较运算符
-
< > >= <= == !=
-
=:赋值 ==:判断 ===:恒等
== 和equals 的区别
// 比较运算符:==比较的是地址,通常比较基本数据类型 String str = "你好"; String str2 = "你好"; String str3 = new String("你好"); System.out.println(str == str2);// true System.out.println(str == "你好");// true System.out.println(str3 == str);// false // equals比较的是值 // 1.把比较的字符串放在前面,变量放到后面; // 2.把确定会有参的变量放在前,未知或者值在变得变量放在后面 String str4 = "a"; System.out.println(str.equals("你好"));// true System.out.println(str3.equals(str));// true // System.out.println(str4.equals("a"));// str4为空,出现空指针异常 System.out.println("a".equals(str4));// true System.out.println("a".equals("A"));// Java中区分大小写false System.out.println("a".equalsIgnoreCase("A"));// 不区分大小写true // equals判断不等 System.out.println(!"a".equals("A"));// true
算数运算符
-
+- * % /
随机数
-
随机数Math.random() []:包含该数字;()不包含该数字 Math.random()可以获得double值[0.0-1.0)
-
public static void main(String[] args) { // [0-1.0) System.out.println(Math.random()); // [0-11) int num = (int) (Math.random() * 11); System.out.println(num); //[10-15] System.out.println((int)(Math.random()*6+10)); //a-z;a=97;A=65 int num1 = (int)(Math.random()*26+97); char c = (char) num1; System.out.println(c); }
三目运算
-
三目运算a>b ? a:b
-
结合性从右向左
-
int num = 4>6 ? 4:6;//如果4>6返回?后面的值,否则为:后面的值 int a = 10, b = 55; int r3 = a>b ? a:(a==b) ? 0:b;//结合性从右向左;所以先运算(a==b) ? 0:b //a>b ? a: ((a==b)?0:b) System.out.println(r3);//55
Scanner类
-
Scanner类:用户输入;通常写在主方法的下面;Scanner是Java5之后才有的新特征
public static void main(String[] args) {
//创建Scanner对象
//导包快捷键ctrl+shift+o
Scanner in = new Scanner(System.in);
System.out.println("请输入年龄");
int age = in.nextInt();
System.out.println("请输入姓名");
String name = in.next();
}
分支语句
-
if/switch语句
if/switch语句
//创建Scanner对象
Scanner in = new Scanner (System.in);
System.out.println("请输入用户名");
String name = in.next();
System.out.println("请输入密码");
String password = in.next();
if("xiaoming".equals(name) && "123".equals(password)){
System.out.println("用户登录成功");
}
else{
System.out.println("用户登录失败");
}
//判断奇偶数
System.out.println("输入需要判断的数字");
int num = in.nextInt();
if(num%2 == 0){
System.out.println("该数为偶数");
}
else{
System.out.println("该数为奇数");
}
练习题
1)通过控制台输入3个整数代表三角形的三条边,判断能否构成三角形,如果不能构成,则给出相应的提示,程序结束;如果可以,则继续完成下面功能;
2)计算出三角形的面积,并显示出来; 3)判断该三角形是等边三角形还是等腰三角形还是普通三角形,并输出判断的结果。
提示:可以构成三角形的三条边长要求是“所有的两边之和大于第三边”
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("请输入三个数字");
Double str1 = in.nextDouble();
Double str2 = in.nextDouble();
Double str3 = in.nextDouble();
if((str1 + str2) > str3){
double d = (str1 + str2 + str3)/2;
double area = Math.sqrt(d * (d - str1) * (d - str2) * (d - str3));
System.out.println("组成的三角形面积为" + area);
if(str1-str2 == 0 && str1 - str3 ==0 ){
System.out.println("组成的三角形为等边三角形");
}
else if(str1-str2 == 0 && str1 - str3 !=0){
System.out.println("组成的三角形为等腰三角形");
}
else{
System.out.println("组成的三角形为普通三角形");
}
}
else{
System.out.println("无法构成三角形");
}
}
作业题
程序1:信息输入和输出。创建类 1)声明3个变量,分别用来存储姓名、年龄、成绩(注意分析每个变量应该声明什么类型)
Scanner cin = new Scanner(System.in);
System.out.println("请输入姓名");
String name = cin.next();
System.out.println("请输入年龄");
double age = cin.nextDouble();
System.out.println("请输入成绩");
double score = cin.nextDouble();
System.out.println("输入的姓名为:" + name + ",输入的年龄为:" + age + ",输入的成绩为" + score);
程序2:模拟简单计算器功能 1)接受用户从键盘输入两个数,完成加法运算并显示出来;2)再接受用户从键盘输入两个数,完成减法运算并显示出来; 3)再接受用户从键盘输入两个数,完成乘法运算并显示出来;4)再接受用户从键盘输入两个数,完成除法运算并显示出来 */ *
System.out.println("请输入两个数进行加法");
double num1 = cin.nextDouble();
double num2 = cin.nextDouble();
double and = num1 + num2;
System.out.println(num1+"加上"+num2 + "结果为:"+and);
System.out.println("请输入两个数进行减法");
double num3 = cin.nextDouble();
double num4 = cin.nextDouble();
double minus = num3 - num4;
System.out.println(num3+"减去"+num4 + "结果为:"+minus);
System.out.println("请输入两个数进行乘法");
double num5 = cin.nextDouble();
double num6 = cin.nextDouble();
double mult = num5 * num6;
System.out.println(num5+"乘以"+num6 + "结果为:"+mult);
System.out.println("请输入两个数进行除法");
double num7 = cin.nextDouble();
double num8 = cin.nextDouble();
double div = num7 /num8;
System.out.println(num7+"除去"+num8 + "结果为:"+div);
程序3:工资的统计 1)接受用户输入3名员工的员工编号、基本工资和奖金 2)每输入一个员工的信息之后,显示出该员工的工资总额 3)最终显示出所有员工的工资总和*/
System.out.println("依次输入员工的员工编号、基本工资和奖金");
int i=0;
double sum=0,sum2=0;
while(i<3){
i++;
String number1 = cin.next();
double salary1 = cin.nextDouble();
double price1 = cin.nextDouble();
sum = salary1 + price1;
System.out.println("员工:"+number1 + ",工资总额为:"+sum);
sum2 =sum2+sum;
}
System.out.println("所有员工的工资总和"+sum2);
程序4:求图形的周长和面积。具体要求如下:
1)通过键盘输入长方形的长和宽,输入前给出相应的提示,求出长方形的周长和面积并输出
2)通过键盘输入正方形的边长,输入前给出相应的提示,求出正方形的周长和面积并输出
3)通过键盘输入圆形的半径,输入前给出相应的提示,求出圆形的周长和面积并输出
4)通过键盘输入三角形的边长,输入前给出相应的提示,求出三角形的周长和面积并输出
d = (a+b+c)/2; 面积 = Math.sqrt(d*(d-a)*(d-b)*(d-c))
System.out.println("输入长方形的长和宽");
double a1 = cin.nextDouble();
double b1 = cin.nextDouble();
System.out.println("长方形的周长:"+ (a1*2 + b1*2) + ",面积:"+ (a1 * b1));
System.out.println("输入正方形的长和宽");
double a2 = cin.nextDouble();
System.out.println("正方形的周长:"+ (a2*4) + ",面积:"+ (a2 * a2));
System.out.println("输入圆形的半径");
double r = cin.nextDouble();
System.out.println("圆形的周长:"+ (3.14*2*r) + ",面积:"+ (3.14*r*r));
System.out.println("输入三角形的边长");
Double s1 = cin.nextDouble();
Double s2 = cin.nextDouble();
Double s3 = cin.nextDouble();
double d = (s1 + s2 + s3)/2;
double area = Math.sqrt(d * (d - s1) * (d - s2) * (d - s3));
System.out.println("三角形的周长:"+(s1 + s2 + s3) + ",面积:"+ area);
程序5:根据性别判断显示的内容
1)声明一个String类型的变量,用来存储性别
2)接受用户从键盘输入自己的性别
3)判断性别如果为男性,则输出“欢迎先生光临本休闲小店”,如果为女性,则输出“欢迎女士光临本休闲小店”
4)当输入的性别不是男也不是女时,则提示“您输入的性别无效,无法光临本店”*/
String sex = cin.next();
if("男".equals(sex)){
System.out.println("欢迎先生光临本休闲小店");
}
else if ("女".equals(sex))
System.out.println("欢迎女士光临本休闲小店");
else
System.out.println("您输入的性别无效,无法光临本店");