java基础笔记

Java基础

1.注释

2.数据类型

  • 基本类型(8种)
    • 整数类型
      • byte: 1字节
      • short: 2字节
      • int: 4字节
      • long: 8 字节
    • 浮点类型
      • float: 4字节
      • double: 8字节
    • 字符类型
      • char: 2字节
    • 布尔类型(boolean)
      • boolean: 1bit
  • 引用类型
    • 接口
    • 数组

注意

long num = 100L; float num = 100.0F;

​ 浮点数(有限的;离散的)不精确,银行业务类不用浮点数,用BigDecimal

3.类型转换

低 -------------------------------------------------------------------------------------------------> 高

byte,short,char -------> int ------> long -------> float ------> double

  • 从高到低:强制类型转换
  • 从低到高: 自动类型转换

注意:转换时可能会溢出

4.变量、常量与作用域

作用域

  • 类变量(必须使用关键字static) : static+数据类型+变量名
    • 与类共存亡
    • 可以不用初始化
  • 实例变量
    • 必须通过对象访问使用
    • 不需要初始化
  • 局部变量
    • 必须先声明和初始化,才能在方法中使用

常量

关键字final 修饰,常量名全大写

5.运算符

  1. 算术运算符: +,-,*,/,%,++,--
  • 有数据类型为long的变量,则结果为long
  • long则结果为int
  1. 关系运算符: >,<,>=,<=,==,!=

    • 结果为boolean
  2. 逻辑运算符: &&,||,!

    • 短路运算:当只通过逻辑运算表达式的前面部分结果就能得到整个表达式的结果时,表达式后面部分不执行。

    • 例如

      int c = 5;
      boolean d = (c<4) && (c++<4);
      System.out.println(d);//输出false
      System.out.println(c);//输出5
      
  3. 位运算符: &(与) ,|(或),^(异或),~(取反),>>(右移,相当于除2),<<(左移,相当于乘2),>>>(无符号右移)

  4. 三元运算符: ? :

    • x?y:z;//如果x为true,则返回y,否则返回z
      
  5. 扩展赋值运算符: +=,-=,*=,/=

    • a+=b;//a=a+b;
      
      

6.JavaDoc

​ 生成帮助文档/API文档

使用命令行生成帮助文档

  • 打开命令行,进入类所在文件夹,执行如下命令:

javadoc -encoding UTF-8 - charset UTF-8 程序名.java

使用IDE生成帮助文档

  • Tools --> Generate JavaDoc

7.流程控制语句

1)顺序结构

2)分支结构

if语句
switch语句
  • 格式

    switch (表达式) {
      case 1:
      语句体1;
      break;
      case 2:
      语句体2;
      break;
      ...
      default:
      语句体n+1;
      break;
    } 
    
    
  • 执行流程:

    • 首先计算出表达式的值
    • 其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结 束。
    • 最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。
2)1 switch案例-减肥计划
  • 需求:键盘录入星期数,显示今天的减肥活动
周一:跑步  
周二:游泳  
周三:慢走  
周四:动感单车
周五:拳击  
周六:爬山  
周日:好好吃一顿 
  • 示例代码:
public static void main(String[] args){
		// 1. 键盘录入星期数据,使用变量接收
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入");
		int week = sc.nextInt();
		// 2. 多情况判断,采用switch语句实现
		switch(week){
			// 3. 在不同的case中,输出对应的减肥计划
			case 1:
				System.out.println("跑步");
				break;
			case 2:
				System.out.println("游泳");
				break;
			case 3:
				System.out.println("慢走");
				break;
			case 4:
				System.out.println("动感单车");
				break;
			case 5:
				System.out.println("拳击");
				break;
			case 6:
				System.out.println("爬山");
				break;
			case 7:
				System.out.println("好好吃一顿");
				break;
			default:
				System.out.println("您的输入有误");
				break;
		}
	}
}
2)2 switch语句case穿透
  • 概述 : 如果switch语句中,case省略了break语句, 就会开始case穿透
  • 需求 : 键盘录入星期数,输出工作日、休息日 (1-5)工作日,(6-7)休息日
  • 示例代码:
/*
case穿透是如何产生的?
		
		如果switch语句中,case省略了break语句, 就会开始case穿透.
		
		现象:
			当开始case穿透,后续的case就不会具有匹配效果,内部的语句都会执行
			直到看见break,或者将整体switch语句执行完毕,才会结束。
*/
public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入星期数:");
		int week = sc.nextInt();
		
		switch(week){
			case 1:
			case 2:
			case 3:
			case 4:
			case 5:
				System.out.println("工作日");
				break;
			case 6:
			case 7:
				System.out.println("休息日");
				break;
			default:
				System.out.println("您的输入有误");
				break;
		}
	}	
}

3)循环结构

<1> for循环
  • idea常用for循环快捷键

    • 输入iter按enter

      for (String arg : args) {
                  
              }
      
    • 输入itar按enter

      for (int i = 0; i < args.length; i++) {
                  String arg = args[i];
                  
              }
      
    • 输入itli按enter

      for (int i = 0; i < list.size(); i++) {
                  Object o =  list.get(i);
                  
              }
      
    • 输入数字.for按enter

      //10.for
      for (int i = 0; i < 10; i++) {
      
              }
      
    • 输入fori按enter

      for (int i = 0; i < ; i++) {
                  
              }
      

      Tips: ctrl+j可以查看快捷生成代码的提示,可以经常看一遍,记住它们

<2>while循环

8.跳转控制语句

  • break

    • 跳出循环,结束循环
  • continue

    • 跳过本次循环,继续下次循环

    注意:continue只能在循环中使用!

posted @ 2021-06-25 22:28  西风无雨  阅读(46)  评论(0)    收藏  举报