Java码农进阶之路~基本数据类型&运算符&流程控制-分支&三目

基本数据类型

    首先先说下字节:字节(byte)是计算机信息技术用于计量存储容量的一种计量单位

    通常情况下一字节由8个二进制位表示 0000 0000; 一个字节的取值范围为-128~127.

    大家有兴趣的可以了解下为什么是-128~127.

    一个Byte由八个位组成,如0000 0000,其中后七位表示数值,最前面的一位是符号位(0为正,1为负).这样+1就是0 000 0001, -1就是1000 0001.那么最大的正数就是0111 1111,即2^0+2^1+.......2^6=127;同理,最小的负数为1111 1111,即-127;而之所以说取值范围是-128~127,是因为0会出现一个+0和一个-0.这时,将-0规定为-128,这样就与计算机的补码(程序都是按补码运行的)完美的结合在一起.
    1.整数型

            short    短整型 2个字节

            int        整型 4个字节

            long      长整型 8个字节

    2.小数型(浮点型)

            float    4个字节

            double    8个字节(double)

    3.字符型

            字符串型

    下面我们来举个例子

public class Demo {
	public static void main(String[] args) {
		//常量	在程序中,不能修改的量就是常量
		//声明一个变量---存储数据
		//数据类型+变量名 = 初值;
		int a = 10;//定义了一个整型变量,初值为10
		a = 15;
		byte b = 10;
		short s = 10;
		long m = 10;
		/*
		 *double是存储小数的
		 *但是,现在赋值的是一个整数 
		 *这时系统会进行 隐式转换
		 *把小的类型 帮你 转换 成大的类型
		 */
		double d = 10;
		System.out.println(d);//10.0
		//强制类型转换 会丢失数据精度
		//声明一个小数 系统默认 使用的是double类型
		int number = (int)3.13;
		System.out.println(number);
		
		//声明float类型小数,需要使用标识符f标识
		float f = 10.0f;
		System.out.println(f);
		/*
		 * 特殊类型 字符类型
		 * 特点:字符类型可以和整形相互转换
		 * 声明字符型 使用 单引号
		 */
		char ch = 'a';
		System.out.println(ch);
		//强转完 打印该字符在 AscII表中对应的值
		System.out.println((int)ch);
		char ch1 = 97;
		System.out.println(ch1);
		
		//字符串类型
		//字符串中+号 相当于连接两个字符串(拼接)
		String str1 = "haha";
		String str2 = "wawa";
		System.out.println(str1 + str2);
		
		int num1 = 10;
		System.out.println("num1 = " + num1);
		int num2 = 15;
		System.out.println(num1 + num2);
		//数字和字符串 使用+连接的时候
		//相当于直接做字符串的拼接
		//和字符串相加 一定会得字符串
		System.out.println(str1 + num1 +num2);
	}
} 
运算符

  1.算术运算符 + - * / %(区域运算符) ++ --
  2.关系运算符 > = < >= <= == != 

  使用关系运算符 是用来判断的,并且判断结束后会有一个结果 布尔值true false

  逻辑运算符 (用来判断 返回一个布尔值)

  && 逻辑与 (条件1)&&(条件2) 一假则假

  || 逻辑或 (条件1)||(条件2) 一真则真    ---逻辑运算需注意其短路现象

  !  逻辑非 非真即假

public class Demo {
	public static void main(String[] args) {
		//取模运算(用的最多 是对2取余)
		//判断是不是偶数
		int n1 = 10 % 2;
		System.out.println("n1 = " + n1);
		
		// 除法
		int n2 = 10 / 3;
		System.out.println("n2 = " + n2);
		//ArithmeticException算术异常
//		int n22 = 10 / 0;
//		System.out.println(n22);
		
		//自增运算(++) 和 自减运算(--)
		//++在前,先自增再参与运算
		//++在后,先参与运算再自增
		int n3 = 10;
		n3++;
		System.out.println("n3 = " + n3);
		
		int n4 = 10;
		int n5 = n4 + ++n4;// 10 + 11
		System.out.println("n4 = " + n4);//11
		System.out.println("n5 = " + n5);//21
		
		//声明一个布尔类型变量
		//只有两个值 true false
		//声明状态 和 判断时候用
		boolean b = true;
		System.out.println(b);
		
		int num1 = 10;
		int num2 = 10;
		boolean result1 = num1 == num2;
		System.out.println(result1);
		
		//判断两个字符串是否相等
		String str1 = "wanglong";
		String str2 = "pengqian";
		str1.equals(str2);
		boolean reslut2 = str1.equals(str2);
		System.out.println(reslut2);
		
		int num3 = 10;
		int num4 = 15;
		int num5 = 12;
		// 逻辑与的短路现象
		// 一假则假 如果条件1已经不成立了
		//			那么系统不会执行后面的语句
		boolean reslut3 = (num3 > num4) && (++num3 > num5);
		System.out.println("num3 = " + num3);//10
		boolean reslut4 = (num3 < num4) && (++num3 > num5);
		System.out.println(reslut3);
		System.out.println("num3 = " + num3);//11
		
		//逻辑或短路
		//一真则真 如果条1为真,那么后面就不会执行
		boolean reslut5 = (num3 < num4) || (num3++ > num5);
		System.out.println("reslut5 = " + reslut5);
		System.out.println("num3 = " + num3);//11
	}
}
分支运算---if    switch
    if---三种写法

  if(判断条件){

       执行的语句   

   }


  if(判断条件){

       执行语句1(条件成立时)

   }else{

       执行语句2(条件不成立时)

  } 


   if(条件1){

       执行语句1(条件1成立时)

   }else if(条件2){

       执行语句2(条件2成立时)

   }else{

       执行语句3

   }

    switch

    switch (key---被匹配的值) {

case value--匹配的值:

    执行语句1

    break;

case 匹配的值2:

    执行语句2

    break;

    可以有很多个case

        default:

            如果前面都没有匹配上

    就执行default

    break;

}

理论上来说,能使用if的,就一定能使用switch语句

什么时候使用if,什么时候使用switch

如果判断时候 条件是个范围用if

如果判断时候 条件是几个值,使用switch相对简单一点

 三目运算

    (判断条件)?值1 : 值2;

    判断条件成立 返回值1 反之 返回值2

    int num1 = 10;

    int num2 = 15;

    int max = 0;

    max = (num1 > num2) ? num1 : num2;//15


    

    

猜你喜欢

转载自blog.csdn.net/t_kuuga/article/details/80185304