Java基础

本文详细介绍了Java中的转义字符、运算符(包括关系运算符、比较运算符、算术运算符)、随机数生成、三目运算符、Scanner类的使用,以及分支语句(if/switch语句)的实践应用。通过示例代码演示了如何进行条件判断、用户输入、算术操作等,同时提供了多个练习题和作业题,帮助读者巩固理解。
摘要由CSDN通过智能技术生成

目录

转义字符

运算符

关系运算符

比较运算符

算数运算符

随机数

三目运算

Scanner类

分支语句

if/switch语句

练习题

作业题


转义字符

  • \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("您输入的性别无效,无法光临本店");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值