Java每日分享

文章目录

        • 一、转义字符
        • 二、进制
        • 三、运算符
          • 1)算数运算符:
          • 2)赋值运算符:
          • 3)比较运算符:
          • 4)逻辑运算符:
          • 5)条件运算符:
        • 四、Scanner类:
        • 五、Random:
        • 六、流程控制语句

一、转义字符

​ 有一些符号在java中有特殊的作用,转义字符从\开始

​ \b 退格
​ \n 换行 ln
​ \r 光标回到行首
​ \t 制表符 一个汉字占2个空格,一个字母占1个空 一个制表符位8个空格

二、进制

​ 1)二进制:

​ 只能有0,1组成 前面 0b开头

​ 2)八进制:

​ 只能有0~7数字组成 以0开头
​ 3)十进制:

​ 默认十进制
​ 4)十六进制:

​ 09,af组成 以0x开头,大小写都可以

​ 其他进制转十进制: 从后往前,从最后一位开始*当前的进制数^0(次方从0开始,每次加一),最后求和
​ 十进制转为其他进制:使用这个数一致除以进制数,看余数

三、运算符

1)算数运算符:

​ 加 + ;减 - ;乘 *;除 / ;取余 %

2)赋值运算符:

​ “=” 注意赋值运算是从右往左运行

​ (扩展) 自增 += ;自减 -=;自乘 *=;自除 /=;自余 %=

3)比较运算符:

​ 大于 >;小于 <;大于等于 >=;小于等于 <=;不等于 !

​ 最终的结果肯定为boolean类型的结果

       // 比较2个数的大小 ,结果最大的数
		int a = 10;
        int b = 20;
        int result = a > b ? a : b;
        System.out.println("最大值为:" + result);
4)逻辑运算符:

​ 操作数要求都要值值为boolean类型的表达式
​ &与 :两个都为true才是true,一个为false就是false
​ |或 :一个为true就是true,两个都是false才是false
​ !非 :取反 !true–>false !false–>true
​ ^ :相同为false,不同为true

		int a=10;
		int b=9;
		System.out.println(a>b & ++b>a);  // true
		System.out.println("a="+a+",b="+b);  // a=10,b=10
		System.out.println(a<b | b<a);    // false
		System.out.println(!(a>b ^ a>9)); // false

短路:第一个操作数就已经能够决定最终的结果了,第二个操作数将不再执行(推荐使用)

​ &&:前面判断为false,后面不再运行
​ || :前面判断为true,后面不再运行

5)条件运算符:

​ 条件表达式 ? 值1 : 值2;
​ 1)执行条件表达式–>值为boolean类型的表达式
​ 2)如果为true,最终的结果取值1
​ 3)如果为false,最终的结果取值2

		// 比较一个数是否为偶数/奇数
        String str =  a % 2 == 0? "a是偶数":"a是奇数";
        System.out.println(str);

		// 比较3个数的大小,求最大的数
		int a = 10;
		int b = 20;
        int c = 30;
        result = c > (a > b ? a : b) ? c : (a > b ? a : b);
        System.out.println("最大值为:" + result);

6)位运算符
​ 所有的 操作数先转为二进制的形式参与运算,再把结果转为十进制的形式

​ & :同一位置的两个数,一个0就是0,两个都1才是1
​ | :同一位置的两个数,一个为1就是1,两个都为0才是0
​ ^ :相同为0,不同为1
​ 位移运算符
​ 左移:<< 二进制的操作数,向左移动第二个操作数的位数,空余的位置补0,得到的结果转为十进制
​ -->第一个操作数*2的第二个操作数次方
​ 右移:>> 二进制的操作数,向右移动第二个操作数的位数,分水岭右侧的结果不要,只保留左侧,结果转为十进制
​ -->第一个操作数/2的第二个操作数次方

四、Scanner类:

可以接收键盘输入的内容
​ 1)导包:指明Scanner类的位置
​ import +包名+类名; import java.util.Scanner;
​ 位置:类的上面
​ 2)创建某个类型的变量|引用
​ Scanner sc=new Scanner();
​ 3)引用.功能名字();
​ next() 接收字符串 结束功能:enter,不会接收enter
​ 从有效字符开始接收,遇到空格,tab不接受了,但是必须遇到enter结束功能
​ nextLine() 只要没有换行,都能接收 遇到enter结束功能,接收enter
​ nextInt()
​ nextByte()
​ nextShort()
​ nextDouble()…
​ 4)引用.close();
注意:一定在一个类中使用完毕以后再关闭,否则重新开启也无法使用

五、Random:

产生伪随机数
​ 1)导包 import java.util.Random;
​ 2)创建Random类型的变量|引用
​ 3)引用.功能名字()
​ nextInt() 产生一个int范围内的随机整数
​ nextInt(n) 产生0~n随机整数 [0,n)
​ [0,max] 引用.nextInt(max+1)
​ [min,max] 引用.nextInt(max-min+1)+min

六、流程控制语句

​ 顺序结构:从上倒下,从左到右
​ 选择结构:根据选择,决定执行的内容
​ 循环结构:重复执行某些内容
if…else
​ 1)单分支|单选泽
​ if(条件表达式){
​ 语句体;
​ }
​ 条件表达式必须值为boolean类型的表达式
​ 如果条件表达式结果为false,就不执行跳过整个if结构
​ 如果条件表达式结果为true,执行{}中的语句体

​ 2)双分支|双选择
​ if(条件表达式){
​ 语句体1;
​ }else{
​ 语句体2;
​ }
​ 无论是否满足条件,都会执行语句体

​ 3)多分支|多选择:
​ if(条件表达式1){
​ 语句体1;
​ }else if(条件表达式2){
​ 语句体2;
​ }else if(条件表达式3){
​ 语句体3;
​ }
​ …
​ else{
​ 以上条件都不满足执行的内容
​ }

if语句和条件运算符之间的选择:
​ 1.条件运算符肯定会得到结果
​ 2.麻烦的使用if,简单的能使用条件运算符就是用条件运算符

switch语句:定值判断
​ switch(表达式){
​ case 值1:
​ 语句体1;
​ break;
​ case 值2:
​ 语句体2;
​ break;
​ …
​ default:
​ 语句体n;
​ break;
​ }
​ 表达式|变量: byte,short,int,char,枚举(1.5),字符串(1.7)
​ case:拿表达式的结果与case后的值进行判断,如果相同,执行对应的语句体;
​ break:结束这个switch语句,如果没有break会发生case穿透
​ default: else作用一致,以上case都不满足条件,执行default中的语句体
​ 可以在switch语句中的任何位置,改变位置注意break的问题

nt,char,枚举(1.5),字符串(1.7)
​ case:拿表达式的结果与case后的值进行判断,如果相同,执行对应的语句体;
​ break:结束这个switch语句,如果没有break会发生case穿透
​ default: else作用一致,以上case都不满足条件,执行default中的语句体
​ 可以在switch语句中的任何位置,改变位置注意break的问题

if语句可以做区间判断,可以做定值判断,switch 只能做定值判断

你可能感兴趣的:(Java每日分享)