2020.1.11 Java学习三

今天学习了String的一些方法(length,charAt,equals,substring,toUpperCase),UUID的randomUUID()方法以及 位运算符(&,|,~,^,<<,>>)、三目运算符和短路 不短路运算。
编程大佬养成计划%2…

1. 两个数字交换

方法一:定义一个变量temp,temp=a; a=b; b=temp;
方法二:按位异或运算
方法三:如下段代码

public class B {
	public static void main(String[] args) {
		int a=9,b=12;
		System.out.println("交换前a="+a +" b="+b);
		a=a+b;
		b=a-b;
		a=a-b;
		System.out.println("交换后a="+a +" b="+b);
	}
}	

2. String的方法

String a=input.next();
a.length(); 字符串长度
a.charAt(); 截取第几位
a.equals(); 内容比较
a.subString(0,4); 截取的是前四位 0,1,2,3
a.to.UpperCase(); 将小写字母转为大写
String code1=new String(" "); //内存新开辟空间保存
其中,需要注意的是==和equals的区别,==比较的是内存地址,equals比较的是内容,举个例子

public class I {
	public static void main(String[] args) {
		String incode1="MAx9";//存入字符串池
		String incode2="MAx9";
		System.out.println(incode1==incode2);
		System.out.println(incode1.equals(incode2));
		System.out.println("---------------------");
		String code1=new String("FG67");//内存新开辟空间保存
		String code2=new String("FG67");
		System.out.println(code1==code2);
		System.out.println(code1.equals(code2));
	}
}

code1与code2内存地址不一样,但都=FG67,用双目运算符==比较,结果为false,用equals则可避免这种情况。
在这里插入图片描述

3. UUID类

String ran=UUID.randomUUID().toString();方法产生32位随机字母+数字组合,通过toString(),变成String字符串类型,记得导入包!

import java.util.UUID;
public class K {
	public static void main(String[] args) {
		String code=UUID.randomUUID().toString();
		String code2=code.substring(0,5);//截取前五位
		String code3=code2.toUpperCase();//转为大写
		System.out.println("车牌号为:陕A "+code3);
	}
}

在这里插入图片描述

4. 位运算符

& 按位与运算,全1才为1,可用来判断奇偶 &1==0为偶数,==1为奇数
| 按位或运算,全0才为0
~ 取反
^ 按位异或运算,相同则为0,不同则为1,可用来两个数交换
<< 按位左移
>> 按位右移

  1. 短路与运算&&和不短路与运算&
public static void main(String[] args) {
		//短路与运算
				int b=3;
				boolean is2=10<7 && ++b==7;
				System.out.println(is2);
				System.out.println(b);
		//不短路与运算
		int a=6;
		boolean is=10<7 & ++a==7;
		System.out.println(is);
		System.out.println(a);
		
	}
}

在这里插入图片描述
2. 按位与判断奇偶

public class L {
	public static void main(String[] args) {
		int a=5;
		int b=4;
		int result=a&b;
		System.out.println(result);
		//按位与运算可以用来判断是否为奇偶数,&1==0为偶数,==1为奇数
		System.out.println(a+"是偶数?"+((a&1)==0));
		System.out.println(b+"是奇数?"+((b&1)!=0));
	}
}

在这里插入图片描述
3.按位异或交换两个数字

public class N {
	public static void main(String[] args) {
		int a=345;
		int b=123;
		a=a^b;
		b=a^b;
		a=a^b;
		System.out.println(a);
		System.out.println(b);
	}
}

4.<<按位左移 ×2的几次方
>>按位右移 \2的几次方

public class O {
	public static void main(String[] args) {
		int num=13;
		System.out.println(num<<1);//num*2的一次方
		System.out.println(num<<2);
		System.out.println(num<<3);//num*2的三次方
		System.out.println(num<<4);
		System.out.println("!!!!!!!!!!!!!!");
		int number=1024;
		System.out.println(number>>1);//num\2的一次方
		System.out.println(number>>2);
		System.out.println(number>>3);
		System.out.println(number>>4);
	}
}

在这里插入图片描述

5. 三目运算符

关系表达式?表达式1(成立):表达式2(不成立)

import java.util.Scanner;
public class P {
	public static void main(String[] args) {
		System.out.println("请输入一个数");
		Scanner input=new Scanner(System.in);
		int number=input.nextInt();
		//三目运算符
		String result=((number&1)==0)?"偶数":"奇数";
		System.out.println(number + " is" +result);
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值