java学习第三天
2022/2/13 17:45:02
本文主要是介绍java学习第三天,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Math.PI表示圆周率π Math封装了数学运算的一些常量和算数方法
shortcomings:
- 没有尝试多种解决方式
- 变量命名还是不规范
运算符:
- 条件(比较)运算符:运算的结果是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(); }
- 位运算符:| (或):左右两边有一边为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,最后将结果转换为十进制)。
- 逻辑运算符:||(或):左右两边有一边为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:值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="正在看的你,说的就是你,最亮的仔,别不好意思!";
字符串常用方法:
- 获取字符串的长度,格式:
字符串的变量名.length();
- 获取字符串中某个位置上的字符,格式:字符串的变量名.charAt(位置);位置从0开始到最大长度-1;
- 获取字符串某个字符第一次出现的位置,格式:字符串的变量名.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);
- key.next() 扫描到空字符串时就会结束扫描 例如: as yu只接收到as
- 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”
- 键盘输入用户名和密码
- 判断用户是否登录成功
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学习第三天的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)