Java学习记录

想搭一个云服务器,开始学Java。


赋值运算符:+=

class Demo6 
{
	public static void main(String[] args) 
	{
		
		int i = 10; // 把10赋予给i变量.
		i+=2;  // i = i+2; 
		System.out.println("i = "+i);
	
	
		byte b1 = 1;
		byte b2 = 2;
		b2+=b1;//b2=b2+b1;报错,需要强制类型转换b2=(byte)(b2+b1);b2+=b1在编译的时候,java编译器会进行强制类型转换,不需要我们手动转换了.	 
		System.out.println("b2:"+ b2);
	}
}

取出一个二进制数据的指定位数。要求读取该二进制数据的低4位
        00000000-00000000-00010100-01001101
&      00000000-00000000-00000000-00001111
------------------------------------------------------------------
        00000000-00000000-00000000-00001101

class Demo10 {


	public static void main(String[] args) 
	{
		int a = 3;
		int b = 5;
		
		a = a^b;  // a = 3^5
		b = a^b;  // b = (3^5)^5 = 3
		a = a^b;   // a = (5^3)^3 = 5 
		System.out.println("a = "+ a+" b="+b);
	}
}

移位运算符:
<<(左移)
规律:一个操作数进行左移运算的时候,结果就是等于操作数乘以2的n次方,n就是左移 的位数.
3<<1 = 3 *2(1) = 6;
3<<2 = 3*2(2) = 12
3<<3 = 3*2(3) = 24

>>(右移)
规律:一个操作数在做右移运算的时候,实际上就是等于该操作数除以2的n次方,n就是右移的位数。
3>>1 = 3 / 2(1) = 1
3>>2 = 3 / 2(2) = 0 。。

>>>(无符号右移) :无符号右移与右移的区别:进行右移运算的时候,如果操作数是一个正数,那么左边的空缺位使用0补,如果操作数是一个负数,那么左边的空缺位使用1补。而使用无符号右移的时候,不管是正数还是负数都统一使用0补。

/*
使用异或对图片数据进行加密.
*/
import java.io.*;
class ImageTest 
{
	public static void main(String[] args)  throws Exception
	{
		//找到图片文件
		File inFile = new File("e:\\加密的图片.jpg");
		File outFile = new File("e:\\解密的图片.jpg");

		//建立数据通道,让图片的二进制数据流入
		FileInputStream input = new FileInputStream(inFile);
		FileOutputStream output = new FileOutputStream(outFile);
		//边读,把读到的数据异或一个数据,把把数据写出

		int content = 0; //该变量是用于存储读取到的数据
		while((content = input.read())!=-1){  // 如果没有到文件的末尾,那么继续读取数据,读取到的数据已经存储到content变量中了。
			output.write(content^12);
		}			
		//关闭资源
		output.close();
		input.close();
	}
}

需求: 键盘录入一个分数,根据分数输出对应的等级。
比如: 100-90  A等级    89-80  B等级 ..... E等级

接受键盘录入数据的步骤:
1. 创建一个扫描器对象。
2. 调用扫描器对象的nextInt方法扫描数据。
3. 导入包。

import java.util.*;
class Demo3 
{
	public static void main(String[] args) 
	{
		//创建一个扫描器
		Scanner scanner = new Scanner(System.in);
		//调用扫描器扫描键盘录入的数据	
		System.out.println("请输入一个分数:");
		int score = scanner.nextInt(); //定义了一个num变量接收扫描到内容。	
		if(score>=90&&score<=100){
			System.out.println("A等级");
		}else if(score>=80&&score<=89){
			System.out.println("B等级");
		}else if(score>=70&&score<=79){	
			System.out.println("C等级");
		}else if(score>=60&&score<=69){	
			System.out.println("D等级");
		}else if(score>=0&&score<=59){	
			System.out.println("E等级");
		}else{
			System.out.println("补考..");
		}
	}
}


需求: 实现猜数字, 如果没有猜对可以继续输入你猜的数字,如果猜对了停止程序。最多只能猜三次,如果还剩下最后一次机会的时候要提醒用户。
import java.util.*;
class Demo8 {
	public static void main(String[] args) 
	{
		//创建一个随机数对象
		Random random = new Random();
		//调用随机数对象的nextInt方法产生一个随机数
		int randomNum = random.nextInt(10)+1; //要求随机数是 1~10
		//创建一个扫描器对象
		Scanner scanner = new Scanner(System.in);	
		while(true){
			System.out.println("请输入你要猜的数字:");
			//调用扫描器的nextInt方法扫描一个数字
			int guessNum = scanner.nextInt();
			if (guessNum>randomNum){
				System.out.println("猜大了..");
			}else if(guessNum<randomNum){
				System.out.println("猜小了..");	
			}else{
				System.out.println("恭喜你,猜对了`..");	
				break;
			}
		}	
	}
}

需求: 打印一个九九乘法表.
转义字符:特殊字符使用”\”把其转化成字符的本身输出,那么使用”\”的字符称作为转移字符。
常见的转义字符有:
\b Backspace (退格键)
\t Tab    制表符(制表符的作用就是为了让一列对齐)  一个tab一般等于四个空格。
\n 换行
\r 回车  把光标移动到一行的首位置上。
注意: 如果是在windows系统上操作文件的时候需要换行,是需要\r\n一起使用的。
如果是在其他的操作系统上需要换行,仅需要\n即可。

class Demo15 
{
	public static void main(String[] args) 
	{
		for(int i = 1 ; i<=9 ; i++){
			for(int j = 1 ; j<=i ; j++){ //控制列数 
				System.out.print(i+"*"+j+"="+i*j+"\t");
			}
			//换行
			System.out.println();
		}
	}
}


break目前位于内层的for循环,如何才能让break作用于外层 的for循环?可以标记解决(continue同理)。标记的命名只要符合标识符的命名规则即可。

class Demo17 
{
	public static void main(String[] args) 
	{
		aaa:for(int j = 0 ; j<3 ; j++){ // j=0 外层for循环
			bbb:for(int i = 0 ; i< 2 ; i++){  // i=0 内层for循环
				System.out.println("hello world"); // 1	
				break aaa;
			}
		}
	}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值