Java基础知识(持续更新)

一、基本数据类型

八种类型:

类型名字长度备注
byte字节-128~127(一个字节8位) 
short短整型2个字节 
int整型4个字节 
long长整型8个字节 
float单精度浮点型4个字节 
double双精度浮点型8个字节 
char字符型2个字节 
boolean布尔型1 需要一个字节空间,但只需要一位 

基本数据类型转换:

转换时遵循以下原则:

    低级类型向高级类型自动转换;

    容量小的类型自动转换为容量大的数据类型;

    数据类型按容量大小为:

//面试题
byte b2 = 1;
byte b3 = 2;
//字节类型相加结果为int类型
byte b4 = (byte)(b2+b3);

注意:boolean类型不可以转换为其他数据类型

常量

不可改变的量,用final修饰

语法格式:final 类型 标识符 = 值;

public static void main(Stirng[] args) {
    //ctrl+shift+x变大写 y变小写
    final double = PI = 3.1415926;
    //PI不可被修改
}

二、运算符

算术运算符

符号含义举例
/除(除法的运算规则)10/3.0=3.3333333333333335
%取余(l两数相除后取余数)10%3=1
public static void main(String[] args) {
    System.out.println(10/3);//3

    System.out.println(10/3.0);//3.3333333333333335

    System.out.println(10%3);//1

    System.out.println(10%3.0);//1.0

    System.out.println(1.5%3);//1.5

    System.out.println(2%0);//运行时错误
    //Exception in thread "main" java.lang.ArithmeticException: / by zero
}

关系运算符

public static void main(String[] args) {
		//E语言
		int age=22;
		System.out.println(age>=18);//true
		if(age>=18){//如果
			System.out.println("已成年 可以养活自已");//已成年,可以养活自己
		}else{//否则
			System.out.println("未成年");
		}
		
		int year=2018;
		if(year==2018){
			System.out.println("好巧 刚好是今天");//好巧 刚好是今天
		}
		
		boolean bool=false;
		//双等号表示比较 一个等号表示赋值
		if(bool==true){
			System.out.println("true");
		}else{
			System.out.println("false");//false
		}
}

位运算符

00000110     

~6

11111001 ?

11111000 -1

10000111 反过来

-7

==============================

00000001

~1

11111110===计算机当中认是负数

开始转换 (补码加了1 所这里减1)-1

11111101

开始反过来

10000010

-2

原码

反码

补码

正数的原码反码补码相同

负数的原码反码补码不相同 1:先反 2:加1 

public static void main(String[] args) {
    System.out.println(10&6);//2

    System.out.println(10|6);//14

    System.out.println(10^6);//12

    System.out.println(`1);//-2

    System.out.println(`6);//-7
}

位运算应用

public static void main(String[] args) {
    //权限管理应用
    int userAuth = 8;//用户管理
    int hrAuth = 4;//人事
    int moneyAuth = 2;//财务
    int gunAuth = 1;//枪支管理

    int ownerAuth = 8;
    if((ownerAuth & gunAuth) == gunAuth) {
        System.out.println("有枪支管理权限");//有枪支管理权限
    }else {
        System.out.println("无枪支管理权限");
    }
}

短路与非短路

短路符号

&&  且  同时为true才会为true

     条件1 && 条件2  false && ? 如果前面的为false则后面的不再执行

||    或   只要一个为true 就结果为true

     条件1 || 条件2 如果条件1为true则后面的不再执行和检查

 

非短路[不管怎么样 后面的条件都会执行]

     &  条件1 & 条件2 false | 同样会检查 如果前面的为false 后面的条件会继续检查

     |

         条件1 |条件2 如果条件1为true 后面的条件2同样会执行和检查

public static void main(String[] args) {
		//调用了test方法并返回结果
		///boolean bool=test();
		//System.out.println(bool);
		
		//让false与上test()方法返回的结果
		//System.out.println(false && test());//短路
		//System.out.println(false & test());
		//前面的表达式为true 但后面的表达式仍然会执行
		System.out.println(true | test());//非短路
		
	}
	
	/**
	 * 一个方法 调用此方法返回true或者false
	 * @return
	 */
	public static boolean test(){
		System.out.println("test执行了");
		return true;
	}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值