Java基础(变量,运算符)

版权声明: https://blog.csdn.net/ClearLoveQ/article/details/85003870

1.基本数据类型:

一、分析基本数据类型的特点,最大值和最小值。
1、
基本类型:int 二进制位数:32
包装类:java.lang.Integer
最小值:Integer.MIN_VALUE= -2147483648 (-2的31次方)
最大值:Integer.MAX_VALUE= 2147483647  (2的31次方-1)
2、
基本类型:short 二进制位数:16
包装类:java.lang.Short
最小值:Short.MIN_VALUE=-32768 (-2的15此方)
最大值:Short.MAX_VALUE=32767 (2的15次方-1)
3、
基本类型:long 二进制位数:64
包装类:java.lang.Long
最小值:Long.MIN_VALUE=-9223372036854775808 (-2的63次方)
最大值:Long.MAX_VALUE=9223372036854775807 (2的63次方-1)
4、
基本类型:float 二进制位数:32
包装类:java.lang.Float
最小值:Float.MIN_VALUE=1.4E-45 (2的-149次方)
最大值:Float.MAX_VALUE=3.4028235E38 (2的128次方-1)
5、
基本类型:double 二进制位数:64
包装类:java.lang.Double
最小值:Double.MIN_VALUE=4.9E-324 (2的-1074次方)
最大值:Double.MAX_VALUE=1.7976931348623157E308 (2的1024次方-1)

1个字节是8位 
只有8种基本类型可以算.其他引用类型都是由java虚拟机决定的自己不能操作 
byte 1字节 
short 2字节 
int 4字节 
long 8字节 
float 4字节 
double 8字节 
char 2字节 
boolean 1字节


2.基本数据类型间的转换:


  1)自动类型转:小到大
    强制类型转:大到小 (要转换成为的类型)变量
               强转有可能溢出或丢失精度
  2)short s1 = 5;
    short s2 = 8;
    short s3 = (short)(s1+s2);

3.运算符:


  1)算术运算符:+,-,*,/,%,++,--
  2)关系运算符:>,<,>=,<=,==,!= boolean 
  3)逻辑运算符:&&,||,! boolean 
  4)赋值运算符:=,+=,-=,*=,/=,%=
  5)字符串连接运算符:+
  6)条件/三目运算符:boolean?数1:数2

4.分支结构:

  1)if:1条路
  2)if...else:2条路
  3)if...else if结构:多条路

Scanner scan = new Scanner(System.in);
		System.out.println("请输入成绩:");
		int score = scan.nextInt();
		
		if(score<0 || score>100){
			System.out.println("成绩不合法");
		}else if(score>=90){ //score>=0 && score<=100 
			System.out.println("A-优秀");
		}else if(score>=80){
			System.out.println("B-良好");
		}else if(score>=60){
			System.out.println("C-中等");
		}else{
			System.out.println("D-不及格");
		}


  4)switch...case结构:多条路
    优点:效率高、结构清晰
    缺点:整数、相等
    break:跳出switch

Scanner scan = new Scanner(System.in);
		System.out.println("请选择功能:1.显示全部记录  2.查询登录记录  0.退出");
		int command = scan.nextInt();
		
		switch(command){
		case 1:
			System.out.println("显示全部记录");
			break;
		case 2:
			System.out.println("查询登录记录");
			break;
		case 0:
			System.out.println("下次再来吧!");
			break;
		default:
			System.out.println("输入错误");
		}
		


5.循环:


  1)反复执行一段相同或相似的代码
  2)循环三要素:
    2.1)循环变量的初始化
    2.2)循环的条件(以循环变量为基础)
    2.3)循环变量的改变(向着循环的结束变)
    循环变量:在循环过程中所反复改变的那个数
  3)循环结构:
    3.1)while:先判断后执行,有可能一次都不执行

int times=0;     //1.循环变量的初始化
		while(times<10){ //2.循环的条件
			System.out.println("行动是成功的阶梯");
			times++;     //3.循环变量的改变
		}


    3.2)do...while:先执行后判断,至少执行一次
                   要素1与要素3相同时,首选do...while

    3.3)for循环

//累加1到100的和,跳过个位为3的
		int sum = 0; //和
		for(int num=1;num<=100;num++){
			if(num%10==3){
				continue; //跳过循环体中剩余语句而进入下一次循环
			}
			sum += num;
		}
		System.out.println("sum="+sum);

    循环的比较:

1.for循环:应用率最高、固定次数循环
2.break:跳出循环
  continue:跳过循环体中剩余语句而进入下一次循环
3.三种循环结构的更佳适用情况:
  1)while:"当..."
          要素1与要素3不同时选while
  2)do...while:"直到..."
               要素1与要素3相同时首选do...while
  3)for:固定次数循环,应用率最高
4.嵌套循环:
  1)循环中套循环,一般多行多列时使用,外层控制行,内层控制列
  2)执行规则:外层循环走一次,内层循环走所有次
  3)建议:循环层数越少越好,能用一层就不用两层,能用两层就不用三层
         若需要必须通过三层以上的循环来解决,说明设计有问题
  4)break只能跳出一层循环
5.程序=算法+数据结构:
  1)算法:解决问题的流程/步骤(顺序、分支、循环)
  2)数据结构:将数据按照某种特定的结构来保存
             数怎么存
  设计良好的/合理的数据结构会导致好的算法

6.数组

1)相同数据类型元素的集合
  2)是一种数据类型(引用类型)
  3)数组的定义:
      int[] arr = new int[10];
  4)数组的初始化:
      int[] arr = new int[4]; //0,0,0,0
	  int[] arr = {1,4,5,8};  //1,4,5,8
	  int[] arr = new int[]{1,4,5,8}; //1,4,5,8
	  int[] arr;
	  arr = {1,4,5,8}; //编译错误,此方式只能声明同时初始化
	  arr = new int[]{1,4,5,8}; //正确
  5)数组的访问:
    5.1)通过(数组名.length)可以获取数组的长度
	      int[] arr = new int[8];
		  System.out.println(arr.length); //8
	5.2)通过下标/索引来访问数组中的元素
	    下标从0开始,最大到(数组的长度-1)
		  int[] arr = new int[3];
          arr[0] = 100; //给arr中的第1个元素赋值为100
          arr[1] = 200; //给arr中的第2个元素赋值为200
		  arr[2] = 300; //给arr中的第3个元素赋值为300
		  arr[3] = 400; //数组下标越界异常
		  System.out.println(arr[arr.length-1]); //输出最后一个元素的值
  6)数组的遍历:
      int[] arr = new int[10];
	  for(int i=0;i<arr.length;i++){
	    arr[i] = 100;
	  }

数组的复制:参见另一篇博客:java语言复制数组的四种方法(https://blog.csdn.net/ClearLoveQ/article/details/85005264

7.集合

参见另一篇博客:Java的集合 (https://blog.csdn.net/ClearLoveQ/article/details/85007778)

猜你喜欢

转载自blog.csdn.net/ClearLoveQ/article/details/85003870