Java教程

java学习第三天

本文主要是介绍java学习第三天,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Math.PI表示圆周率π Math封装了数学运算的一些常量和算数方法
shortcomings:

  1. 没有尝试多种解决方式
  2. 变量命名还是不规范

运算符:

  1. 条件(比较)运算符:运算的结果是boolean类型。值只有两个 true false 比如:< > <= >= == !=
	public static void main(String[] args) {
		Scanner key=new Scanner(System.in);
		System.out.println("请输入第一个整数");
		int num1=key.nextInt();
		System.out.println("请输入第二个整数");
		int num2=key.nextInt();
		System.out.println(num1>num2);
		System.out.println(num1<num2);
		System.out.println(num1>=num2);
		System.out.println(num1<=num2);
		System.out.println(num1!=num2);
		key.close();
	}

在这里插入图片描述

  1. 位运算符:| (或):左右两边有一边为true 整个结果为true 。 &(与):左右两边都为为true 结果才为true。
public static void main(String[] args) {
		Scanner key=new Scanner(System.in);
		System.out.println("请输入第一个整数");
		int num1=key.nextInt();
		System.out.println("请输入第二个整数");
		int num2=key.nextInt();
		System.out.println(num1<num2|num1==num2);
		System.out.println(num1<num2&num1==num2);
		key.close();
	}

在这里插入图片描述
小面试题:3|4=?
数字转换为2进制进行或运算
3转换为二进制: 0011
4转换为二进制 :0100
3|4运算后结果: 0111
0111转换十进制为:7

	public static void main(String[] args) {
		System.out.println(3|4);
	}

在这里插入图片描述
3&4=?
数字转换为2进制进行与运算
3转换为二进制: 0011
4转换为二进制 :0100
3&4运算后结果:0000
0000转换十进制为:0

public static void main(String[] args) {
		System.out.println(3&4);
	}

在这里插入图片描述
| 或,左右两边都是整数时,按位或(先将整数转换为二进制,然后再将二进制按位或,有1为1,最后将结果转换为十进制)。
& 与,左右两边都是整数时,按位与(先将整数转换为二进制,然后再将二进制按位与,全1为1,最后将结果转换为十进制)。

  1. 逻辑运算符:||(或):左右两边有一边为true 整个结果为true 。 &&(与):左右两边都为为true 结果才为true。
    小笔试题:
    下列运算结果是的多少
		int x=1;
		int y=2;
		int z=3;
		boolean ok=x++<y++|++y<z++;//单个或
		System.out.println(ok);
		System.out.println("x="+x);
		System.out.println("y="+y);
		System.out.println("z="+z);

在这里插入图片描述

int x=1;
		int y=2;
		int z=3;
		boolean ok=x++<y++||++y<z++;//双个或
		System.out.println(ok);
		System.out.println("x="+x);
		System.out.println("y="+y);
		System.out.println("z="+z);

在这里插入图片描述
由此可以看出:|和||的区别
||具有短路的功能,即前面判断为true后面不再进行判断。前面为false会继续执行后面的。

&和&&的区别小实验,输出后面的注释是输出后的结果

		int x=1;
		int y=2;
		int z=3;
		boolean ok=x++>y++&++y>z++;
		System.out.println(ok);//false
		System.out.println("x="+x);//2
		System.out.println("y="+y);//4
		System.out.println("z="+z);//4

		int x=1;
		int y=2;
		int z=3;
		boolean ok=x++>y++&&++y>z++;//双个&&
		System.out.println(ok);//false
		System.out.println("x="+x);//2
		System.out.println("y="+y);//3
		System.out.println("z="+z);//3

由此可以看出:&和&&的区别
&&具有短路的功能,前面判断为false后面的不再进行判断。

所以&&和||都具有短路的功能

自增和自减
自增:前++ 比如:++j 表示:先自加1,在参与运算 。后++ 比如:j++ 表示:先参与运算 ,在自加1。
自减:前-- 比如:–j 表示:先自减1,在参与运算 。后-- 比如:j-- 表示:先参与运算 ,在自减1。

自增

	public static void main(String[] args) {
		int i1=1;
		int i2=1;
		int j1=i1++;
		int j2=++i2;
		System.out.println("j1="+j1);
		System.out.println("j2="+j2);
		System.out.println("i1="+i1);
		System.out.println("i2="+i2);
	}

在这里插入图片描述
自减

public static void main(String[] args) {
		int i1=1;
		int i2=1;
		int j1=i1--;
		int j2=--i2;
		System.out.println("j1="+j1);
		System.out.println("j2="+j2);
		System.out.println("i1="+i1);
		System.out.println("i2="+i2);
	}

在这里插入图片描述

  1. 三目运算符 格式:条件表达式?值1:值2;
    条件表达式:有条件运算符组成,判断的结果为true或false,true执行值1,false执行值2
    注意:值1和值2的数据类型必须一致。 数据发生自动转换后的数据类型一致也可以
	public static void main(String[] args) {
		Scanner key=new Scanner(System.in);
		System.out.println("请输入你的年龄:");
		int age=key.nextInt();//输入的是20
		//String是java中的字符串
		String say=age>18?"可以进入":"禁止进入";
		System.out.println(say);//输出  可以进入
		key.close();
	}

java中的字符串:String
小面试:String是基本数据类型吗?
答:不是,基本数据类型就8个,byte short int long char float double boolean,String是引用数据类型。
字符型 char
格式:char c='W';
char类型的字符,用单引号包裹,只能放单个字符。
String:一串字符序列,用双引号包裹
格式:String c="正在看的你,说的就是你,最亮的仔,别不好意思!";
字符串常用方法:

  1. 获取字符串的长度,格式:字符串的变量名.length();
  2. 获取字符串中某个位置上的字符,格式:字符串的变量名.charAt(位置);位置从0开始到最大长度-1;
  3. 获取字符串某个字符第一次出现的位置,格式:字符串的变量名.indexOf(字符串或字符);找不到返回-1
public static void main(String[] args) {
		String c="正在看的你,说的就是你,最亮的仔,别不好意思!";
		int length=c.length();//计算字符串c的长度并赋值给c
		
		System.out.println(length);//输出23
		
		System.out.println(c.charAt(c.length()-1));//取出最后一个元素
		
		//输出!的位置  ,下标从0开始到c.length()-1
		System.out.println(c.indexOf("!"));//22 
	}

接收字符串 `Scanner key=new Scanner(System.in);

  1. key.next() 扫描到空字符串时就会结束扫描 例如: as yu只接收到as
  2. key.nextline() 例如: as yu接收到as yu
    比较字符串,
    格式:字符串1.equals(字符串2),返回值是boolean类型,true或false

    区分大小写
    区分大小写
    格式:字符串1.equalsIgnoreCase(字符串2);
    忽略大小写
    在这里插入图片描述
    java中的分支语句
package day03;

import java.util.Scanner;

/**
 * java中的分支语句- if
 *   作用:条件判断
 *   格式1:
 *   if(条件表达式){
 *   	//代码块
 *   }
 *   表示:如果条件表达式成立,结果为true,就会执行代码块,否则就不执行
 *   
 *   格式2:
 *   if(条件表达式){
 *   	//代码块1
 *   }else{
 *   	//代码块2
 *   }
 * 表示:如果条件表达式成立,结果为true,就会执行代码块1,否则就执行代码块2
 *@author DEYOU
 */
public class IfDemo {
	public static void main(String[] args) {
		Scanner key=new Scanner(System.in);
		System.out.println("你是帅气的小猪猪扣1,还是漂亮的美羊羊扣2");
		int answer=key.nextInt();//2
		if(answer==1) {
			System.out.println("最亮的仔");
		}
		if(answer==1) {
			System.out.println("最亮的仔仔");
		}else{
			System.out.println("^-^");//输出
		}
		key.close();
	}
}

小作业:尝试if语句的嵌套(在if语句中在嵌套if语句)
模拟用户的登录:
假设数据库中有用户名为username=“zsf” 密码password=“wazwj”

  1. 键盘输入用户名和密码
  2. 判断用户是否登录成功
public static void main(String[] args) {
		String store;
		String userName="zsf";
		String password="wazwj";
		Scanner key=new Scanner(System.in);
		System.out.println("请输入你的账户名:");
		String username=key.next();
		System.out.println("请输入你的密码:");
		String cipher=key.next();
		if(userName.equals(username)) {
			if(password.equals(cipher)) {
				store="登陆成功!";
			}else {
				store="密码错误!";
			}
		}else{
			store="账号错误!";
		}
		System.out.println(store);
		key.close();
	}

在这里插入图片描述

这篇关于java学习第三天的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!