JAVA基础学习笔记(1):变量、进制、运算符

1 hello world!

/**
 * 功能:在控制台输出hello world
 * @author wuzec
 *
 */

public class Hello {
	public static void main(String [] args) {
		System.out.println("Hello, World");
	}
}

2 变量

在这里插入图片描述

2.1 整数类型:byte、short、int、long

一般使用int类型定义整型变量。
在这里插入图片描述

2.2 浮点类型:float、double

一般使用double类型来定义浮点数。
在这里插入图片描述

2.3 字符类型:char

字符类型占用2字节的空间,可以将单个字符、转义字符、Unicode值赋值到char类型的变量中。
常用的转义字符:
在这里插入图片描述

2.4 布尔类型:boolean

布尔类型在内存中占 1 bit位,只有true和false两个值。

/**
 * 功能:测试java中的变量类型
 * @author wuzec
 *
 */
public class VariableTest {
	public static void main(String[] args) {
		//整型变量	
		byte b1 = 10;
		short s1 = 100;
		int i1 = 1000;
		long l1 = 10L; //long型变量,必须以"l"或"L"结尾		
		System.out.println(b1); 
		System.out.println(s1); 
		System.out.println(i1); 
		System.out.println(l1); 
		
		//浮点型变量
		double d1 = 0.5; 
		float f1 = 12.3F;//定义float类型变量时,变量要以"f"或"F"结尾		
		System.out.println(d1);
		System.out.println(f1);
		
		//字符类型
		char c1 = 'A';
		char c2 = '\n';  //换行符
		char c3 = '\u597d';//'好'的Unicode码
		System.out.println(c1);
		System.out.println(c2);
		System.out.println(c3);//好
		
		//布尔类型
		boolean bool1 = true;//只有true和false两个值
		System.out.println(bool1); //true
	}
}

2.5 基本数据类型转换

容量小的类型自动转换为容量大的数据类型,转换过程如下所示:
在这里插入图片描述
当有多种数据类型混合运算时,系统首先将所有的数据转换成最大容量的数据类型,然后在进行运算。

/**
 * 功能:基本数据类型转换
 * @author wuzec
 *
 */
public class VariableTest2 {
	public static void main(String[] args){
		char c1 = 'a';
		byte b1 = 1;
		int i1 = c1 + b1; //进行计算之前就将 char 和  byte 转化为 int
		System.out.println(i1); //98
		
		float f1 = c1 + b1;//进行计算之前就将 char 和  byte 转化为 float
		System.out.println(f1); //98.0
	}
}

2.6 强制类型转换

将容量大的数据类型转换为容量小的数据类型,使用强制转换符。但强制转换会造成溢出或截断

/**
 * 功能:强制类型转换及可能出现的情况
 * @author wuzec
 *
 */
public class VariableTest3 {
	public static void main(String[] args){
		
		//精度损失 1
		double d1 = 1.5;
		int i1 = (int)d1;//截断
		System.out.println(i1);//1
		
		//精度损失2
		int i2 = 128;
		byte b1 = (byte)i2;//溢出(符号位为负)
		System.out.println(b1);//-128
		
		//无精度损失
		long l1 = 123;
		short s1 = (short)l1;
		System.out.println(s1);//123
	}
}

2.7 需要注意的一些地方

整型常量默认为int类型,浮点型常量默认为double类型。

/**
 * 功能:注意整型常量和浮点型常量的默认类型
 * @author wuzec
 *
 */
public class VariableTest4 {
		public static void main(String[] args){
			long l1 = 123;//若不加L或l  123为int类型
			long l2 = 123L;//123为long类型
			
			//float f1 = 1.1;//编译失败:1.1在此为double类型,无法赋值给float类型的变量
			float f2 = 1.1f;//编译成功
	}
}

3 进制

3.1 不同进制整数表示

不同进制的整数有以下四种表示方式
二进制(binary):0,1 ,满2进1.以0b或0B开头。
十进制(decimal):0-9 ,满10进1。
八进制(octal):0-7 ,满8进1. 以数字0开头表示。
十六进制(hex):0-9及A-F,满16进1. 以0x或0X开头表示。此处的A-F不区分大小写。

/**
 * 功能:不同进制数的表示与输出
 * @author wuzec
 *
 */
public class Binarytest {
	public static void main(String[] args){
		int i1 = 0b110; //二进制
		int i2 = 110;  //十进制
		int i3 = 0127; //八进制
		int i4 = 0xA; //十六进制
		
		//打印出的结果全为十进制数
		System.out.println(i1);//6
		System.out.println(i2);//110
		System.out.println(i3);//87
		System.out.println(i4);//10
	}
}

3.2 原码、反码、补码

原码:直接将一个数值换成二进制数。最高位是符号位
负数的反码:是对原码按位取反,只是最高位(符号位)确定为1。
负数的补码:其反码加1。
正数的反码和补码与原码相同。
计算机最底层都使用补码来保存数据

4 运算符

4.1算术运算符

在这里插入图片描述

/**
 * 功能:测试++和--
 * @author wuzec
 *
 */
public class Test {
	public static void main(String[] args) {
		//(前)++ :先自增1,后运算
		//(后)++ :先运算,后自增
		int a = 1;
		int b = a++;
		System.out.println("a = "+ a + ", b = " + b);
		
		int c = 1;
		int d = ++c;
		System.out.println("c = "+ c + ", d = " + d);
		
		//(前)-- :先自减1,后运算
		//(后)-- :先运算,后自减1
		int a1 = 1;
		int b1 = a1--;
		System.out.println("a1 = "+ a1 + ", b1 = " + b1);// 0   1
		
		int c1 = 1;
		int d1 = --c1;
		System.out.println("c1 = "+ c1 + ", d1 = " + d1);	
	}
}

4.2 赋值运算符

符号:=
扩展赋值运算符:+=、-=、*=、/=、%=
注意:扩展赋值运算符无法改变数据的原本类型

4.3 比较运算符

在这里插入图片描述

4.4 逻辑运算符

&:逻辑与 短路与:&& 逻辑非:!
| :逻辑或 短路或: || 逻辑异或: ^
注意:逻辑运算符操作的都是boolean类型的变量

4 .5 位运算符

在这里插入图片描述

4 .6 三目运算符

在这里插入图片描述

4.7 运算符的优先级

在这里插入图片描述

参考资料:
[1]尚硅谷宋康红java基础教程
[2]速学堂 https://www.sxt.cn/Java_jQuery_in_action/History_Direction.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值