学习笔记整理-JAVA语言基础

1.Java中的数据类型分几类?基本数据类型有哪些? 基本数据类型,和引用数据类型; 基本数据类型分为: byte
    short
    int
    long
    bolean
    fort
    double
    char

2.引用数据类型:

类、接口类型、数组类型、枚举类型、注解类型

区别: 基本数据类型在被创建时,在栈上给其划分一块内存,将数值直接存储在栈上。 引用数据类型在被创建时,首先要在栈上给其引用(句柄)分配一块内存,而对象的具体信息都存储在堆内存上,然后由栈上面的引用指向堆中对象的地址。

###03.01_Java语言基础(逻辑运算符的基本用法)(掌握)

  • A:逻辑运算符有哪些

    • &,|,^,!
    • &&,||
  • B:案例演示

  • 逻辑运算符的基本用法

  • 注意事项:

    • a:逻辑运算符一般用于连接boolean类型的表达式或者值。
    • b:表达式:就是用运算符把常量或者变量连接起来的符合java语法的式子。
      • 算术表达式:a + b
      • 比较表达式:a == b(条件表达式)
  • C:结论:

  • &逻辑与:有false则false。

  • |逻辑或:有true则true。

  • ^逻辑异或:相同为false,不同为true。

  • !逻辑非:非false则true,非true则false。

    • 特点:偶数个不改变本身。

###03.02_Java语言基础(逻辑运算符&&和&的区别)(掌握)

  • A:案例演示
    • &&和&的区别?
      • a:最终结果一样。
      • b:&&具有短路效果。左边是false,右边不执行。
      • &是无论左边是false还是true,右边都会执行
  • B:同理||和|的区别?(学生自学)
  • C:开发中常用谁?
    • &&,||,!

###03.03_Java语言基础(位运算符的基本用法1)(了解)

  • A:位运算符有哪些
    • &,|,^,~ ,>>,>>>,<<
  • B:案例演示
    • 位运算符的基本用法1

    • &,|,^,~ 的用法

    • &:有0则0

    • |:有1则1

    • ^:相同则0,不同则1

    • ~:按位取反

###03.04_Java语言基础(位异或运算符的特点及面试题)(掌握)

  • A:案例演示

    • 位异或运算符的特点

    • ^的特点:一个数据对另一个数据位异或两次,该数本身不变。

  • B:面试题:

    • 请自己实现两个整数变量的交换 ``
    • 注意:以后讲课的过程中,我没有明确指定数据的类型,默认int类型。

###03.05_Java语言基础(位运算符的基本用法2及面试题)(了解)

  • A:案例演示 >>,>>>,<<的用法:
    • <<:左移 左边最高位丢弃,右边补齐0
    • :右移 最高位是0,左边补齐0;最高为是1,左边补齐1

    • :无符号右移 无论最高位是0还是1,左边补齐0

    • 最有效率的算出2 * 8的结果

###03.06_Java语言基础(三元运算符的基本用法)(掌握)

  • A:三元运算符的格式
  •   (关系表达式) ? 表达式1 : 表达式2;
    
  • B:三元运算符的执行流程
  • C:案例演示
    • 获取两个数中的最大值

###03.07_Java语言基础(三元运算符的练习)(掌握)

  • A:案例演示
    • 比较两个整数是否相同
  • B:案例演示
    • 获取三个整数中的最大值

###03.08_Java语言基础(键盘录入的基本格式讲解)(掌握)

  • A:为什么要使用键盘录入数据
    • a:为了让程序的数据更符合开发的数据
    • b:让程序更灵活一下
  • B:如何实现键盘录入呢?
    • 先照格式来。
    • a:导包
      • 格式:
        • import java.util.Scanner;
      • 位置:
        • 在class上面。
    • b:创建键盘录入对象
      • 格式:
    • c:通过对象获取数据
      • 格式:
        • int x = sc.nextInt();
  • C:案例演示
    • 键盘录入1个整数,并输出到控制台。
    • 键盘录入2个整数,并输出到控制台。

###03.09_Java语言基础(键盘录入的练习1)(掌握)

  • A:案例演示
    • 键盘录入练习:键盘录入两个数据,并对这两个数据求和,输出其结果
  • B:案例演示
    • 键盘录入练习:键盘录入两个数据,获取这两个数据中的最大值

###03.10_Java语言基础(键盘录入的练习2)(掌握)

  • A:案例演示
    • 键盘录入练习:键盘录入两个数据,比较这两个数据是否相等
  • B:案例演示
    • 键盘录入练习:键盘录入三个数据,获取这三个数据中的最大值

###03.11_Java语言基础(顺序结构语句)(了解)

  • A:什么是流程控制语句
    • 流程控制语句:可以控制程序的执行流程。
  • B:流程控制语句的分类
    • 顺序结构
    • 选择结构
    • 循环结构
  • C:执行流程:
    • 从上往下,依次执行。
  • D:案例演示
    • 输出几句话看效果即可

###03.12_Java语言基础(选择结构if语句格式1及其使用)(掌握)

  • A:选择结构的分类
    • if语句
    • switch语句
  • B:if语句有几种格式
    • 格式1
    • 格式2
    • 格式3
  • C:if语句的格式1
  •   if(比较表达式) {
      	语句体;
      }
    
  • D:执行流程:
    • 先计算比较表达式的值,看其返回值是true还是false。
    • 如果是true,就执行语句体;
    • 如果是false,就不执行语句体;

###03.13_Java语言基础(选择结构if语句注意事项)(掌握)

  • A:案例演示
    • a:比较表达式无论简单还是复杂,结果必须是boolean类型
    • b:if语句控制的语句体如果是一条语句,大括号可以省略,控制的离if最近的一条语句;
      • 如果是多条语句,就不能省略。建议永远不要省略。
    • c:一般来说:有左大括号就没有分号,有分号就没有左大括号

###03.14_Java语言基础(选择结构if语句格式2及其使用)(掌握)

  • A:if语句的格式2
  •   if(比较表达式) {
      	语句体1;
      }else {
      	语句体2;
      }
    
  • B:执行流程:
    • 首先计算比较表达式的值,看其返回值是true还是false。
    • 如果是true,就执行语句体1;
    • 如果是false,就执行语句体2;
  • C:案例演示
    • a:获取两个数据中较大的值

    • b:判断一个数据是奇数还是偶数,并输出是奇数还是偶数

    • 注意事项:else后面是没有比较表达式的,只有if后面有。

###03.15_Java语言基础(if语句的格式2和三元的相互转换问题)(掌握)

  • A:案例演示

    • if语句和三元运算符完成同一个效果
  • B:案例演示

    • if语句和三元运算符的区别

    • 三元运算符实现的,都可以采用if语句实现。反之不成立。

    • 什么时候if语句实现不能用三元改进呢?

      • 当if语句控制的操作是一个输出语句的时候就不能。
      • 为什么呢?因为三元运算符是一个运算符,运算符操作完毕就应该有一个结果,而不是一个输出。

###03.16_Java语言基础(选择结构if语句格式3及其使用)(掌握)

  • A:if语句的格式3:
  •   if(比较表达式1) {
      	语句体1;
      }else if(比较表达式2) {
      	语句体2;
      }else if(比较表达式3) {
      	语句体3;
      }
      ...
      else {
      	语句体n+1;
      }
    
  • B:执行流程:
    • 首先计算比较表达式1看其返回值是true还是false,

    • 如果是true,就执行语句体1,if语句结束。

    • 如果是false,接着计算比较表达式2看其返回值是true还是false,

    • 如果是true,就执行语句体2,if语句结束。

    • 如果是false,接着计算比较表达式3看其返回值是true还是false,

    • 如果都是false,就执行语句体n+1。

  • C:注意事项:最后一个else可以省略,但是建议不要省略,可以对范围外的错误值提示

###03.17_Java语言基础(选择结构if语句格式3练习)(掌握)

  • A:练习1

  •   需求:键盘录入一个成绩,判断并输出成绩的等级。
      90-100 优
      80-89  良
      70-79  中
      60-69  及
      0-59   差
      ![](https://oscimg.oschina.net/oscnet/bd2d9102f4eab44d65493bd607249c845cf.jpg)
    
  • B:练习2

    • 需求:
      • 键盘录入x的值,计算出y的并输出。

      • x>=3 y = 2 * x + 1;

      • -1<x<3 y = 2 * x;

      • x<=-1 y = 2 * x - 1;

###03.18_Java语言基础(选择结构if语句的嵌套使用)(掌握)

  • A:案例演示
    • 需求:获取三个数据中的最大值
    • if语句的嵌套使用。

###03.19_Java语言基础(选择结构switch语句的格式及其解释)(掌握)

  • A:switch语句的格式

  •   switch(表达式) {//表达式:基本数据类型可以接受byte,short,char,int;引用数据类型可以接受枚举,String字符串(JDK1.7)
            case 值1:
      		语句体1;
      		break;
      	    case 值2:
      		语句体2;
      		break;
      	    …
      	    default:	
      		语句体n+1;
      		break;
      }
    
  • B:switch语句的格式解释

  • C:面试题

    • byte可以作为switch的表达式吗?
    • long可以作为switch的表达式吗?
    • String可以作为switch的表达式吗?
  • C:执行流程

    • 先计算表达式的值
    • 然后和case后面的匹配,如果有就执行对应的语句,否则执行default控制的语句

###03.20_Java语言基础(选择结构switch语句的练习)(掌握)

  • A:整数(给定一个值,输出对应星期几)

###03.21_Java语言基础(选择结构switch语句的注意事项)(掌握)

  • A:案例演示
    • a:case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
    • b:default可以省略吗?
      • 可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。
      • 特殊情况:
        • case就可以把值固定。
        • A,B,C,D
    • c:break可以省略吗?
      • 最后一个可以省略,其他最好不要省略
      • 会出现一个现象:case穿透。
      • 最终我们建议不要省略
    • d:default一定要在最后吗?
      • 不是,可以在任意位置。但是建议在最后。
    • e:switch语句的结束条件
      • a:遇到break就结束了
      • b:执行到switch的右大括号就结束了

###03.22_Java语言基础(选择结构switch语句练习)(掌握)

  • A:看程序写结果:

  •   int x = 2;
      int y = 3;
      switch(x){
      	default:
      		y++;
      		break;
      	case 3:
      		y++;
      	case 4:
      		y++;
      }
      System.out.println("y="+y);
    
  • B:看程序写结果:

  •   int x = 2;
      int y = 3;
      switch(x){
      	default:
      		y++;
      	case 3:
      		y++;
      	case 4:
      		y++;
      }
      System.out.println("y="+y);
    

###03.23_Java语言基础(选择结构if语句和switch语句的区别)(掌握)

  • A:总结switch语句和if语句的各自使用场景
  • switch建议判断固定值的时候用
  • if建议判断区间或范围的时候用
  • B:案例演示
    • 分别用switch语句和if语句实现下列需求:
      • 键盘录入月份,输出对应的季节

控制语句:

break的使用场景:只能在switch和循环中

continue的使用场景:只能在循环中 。终止本次循环,继续下次循环

return的使用场景:返回的意思,用来返回方法

###04.01_Java语言基础(循环结构概述和for语句的格式及其使用)

  • A:循环结构的分类
    • for,while,do...while
  • B:循环结构for语句的格式:
  •   for(初始化表达式;条件表达式;循环后的操作表达式) {
      	循环体;
      }
    
  • C执行流程:
    • a:执行初始化语句
    • b:执行判断条件语句,看其返回值是true还是false
      • 如果是true,就继续执行
      • 如果是false,就结束循环
    • c:执行循环体语句;
    • d:执行循环后的操作表达式
    • e:回到B继续。
  • D:案例演示
    • 在控制台输出10次"helloworld"

###04.02_Java语言基础(循环结构for语句的练习之获取数据)

  • A:案例演示
    • 需求:请在控制台输出数据1-10
    • 需求:请在控制台输出数据10-1
  • B:注意事项
    • a:判断条件语句无论简单还是复杂结果是boolean类型。
    • b:循环体语句如果是一条语句,大括号可以省略;如果是多条语句,大括号不能省略。建议永远不要省略。
    • c:一般来说:有左大括号就没有分号,有分号就没有左大括号

###04.03_Java语言基础(循环结构for语句的练习之求和思想)

  • A:案例演示

    • 需求:求出1-10之间数据之和
  • B:学生练习

    • 需求:求出1-100之间偶数和
    • 需求:求出1-100之间奇数和

###04.04_Java语言基础(循环结构for语句的练习之水仙花)

  • A:案例演示
    • 需求:在控制台输出所有的”水仙花数”

    • 所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。

    • 举例:153就是一个水仙花数。

    • 153 = 111 + 555 + 333 = 1 + 125 + 27 = 153

###04.05_Java语言基础(循环结构for语句的练习之统计思想)

  • A:案例演示
    • 需求:统计”水仙花数”共有多少个 `int count=0; for (int i=100;i<=999;i++){

        int gewei=i%10;
        int shiwei=i/10%10;
        int baiwei=i/10/10%10;
        if (Math.pow(gewei,3)+Math.pow(shiwei,3)+Math.pow(baiwei,3)==i){
            count++;
            System.out.println(i);
        }
      

      } System.out.println(count);`

###04.06_Java语言基础(循环结构while语句的格式和基本使用)

  • A:循环结构while语句的格式:
  •   while循环的基本格式:
      while(判断条件语句) {
      	循环体语句;
      }
      
      完整格式:
      
      初始化语句;
      while(判断条件语句) {
      	 循环体语句;
      	 控制条件语句;
      }
    
  • B:执行流程:
    • a:执行初始化语句
    • b:执行判断条件语句,看其返回值是true还是false
      • 如果是true,就继续执行
      • 如果是false,就结束循环
    • c:执行循环体语句;
    • d:执行控制条件语句
    • e:回到B继续。
  • C:案例演示
    • 需求:请在控制台输出数据1-10

###04.07_Java语言基础(循环结构while语句的练习)

  • A:求和思想
    • 求1-100之和
  • B:统计思想
    • 统计”水仙花数”共有多少个

###04.08_Java语言基础(循环结构do...while语句的格式和基本使用)

  • A:循环结构do...while语句的格式:
  •   do {
      	循环体语句;
      }while(判断条件语句);
      
      完整格式;
      初始化语句;
      do {
      	循环体语句;
      	控制条件语句;
      }while(判断条件语句);
    
  • B:执行流程:
    • a:执行初始化语句
    • b:执行循环体语句;
    • c:执行控制条件语句
    • d:执行判断条件语句,看其返回值是true还是false
      • 如果是true,就继续执行
      • 如果是false,就结束循环
    • e:回到b继续。
  • C:案例演示
    • 需求:请在控制台输出数据1-10

###04.09_Java语言基础(循环结构三种循环语句的区别)

  • A:案例演示
    • 三种循环语句的区别:
    • do...while循环至少执行一次循环体。
    • 而for,while循环必须先判断条件是否成立,然后决定是否执行循环体语句。
  • B:案例演示
    • for循环和while循环的区别:
      • A:如果你想在循环结束后,继续使用控制条件的那个变量,用while循环,否则用for循环。不知道用谁就用for循环。因为变量及早的从内存中消失,可以提高内存的使用效率。

###04.10_Java语言基础(循环结构注意事项之死循环)

  • A:一定要注意控制条件语句控制的那个变量的问题,不要弄丢了,否则就容易死循环。
  • B:两种最简单的死循环格式
    • while(true){...}
    • for(;;){...}

###04.11_Java语言基础(循环结构循环嵌套输出4行5列的星星)

  • A:案例演示
    • 需求:请输出一个4行5列的星星(*)图案。
    •   如图:
        	*****
        	*****
        	*****
        	*****
        	`for (int i=1;i<=4;i++){
        System.out.print(i);
        for (int j=1;j<=5;j++){
            System.out.print(j);
        }
        System.out.println();
      
      }` 注意: System.out.println("");和System.out.print("");的区别
  • B:结论:
    • 外循环控制行数,内循环控制列数

###04.12_Java语言基础(循环结构循环嵌套输出正三角形)

  • A:案例演示
  •   需求:请输出下列的形状
      *
      **
      ***
      ****
      *****
      `for (int i=1;i<=4;i++){
          System.out.print(i);
          for (int j=1;j<=i;j++){
              System.out.print(j);
          }
          System.out.println();
      }`
    

###04.13_Java语言基础(循环结构九九乘法表)

  • A:案例演示
    • 需求:在控制台输出九九乘法表。
  • B:代码优化
  •   注意:
      '\x' x表示任意,\是转义符号,这种做法叫转移字符。
      
      '\t'	tab键的位置
      '\r'	回车
      '\n'	换行
      '\"'
      '\''
    

###04.14_Java语言基础(控制跳转语句break语句)

  • A:break的使用场景
    • 只能在switch和循环中

###04.15_Java语言基础(控制跳转语句continue语句)

  • A:continue的使用场景
    • 只能在循环中

###04.16_Java语言基础(控制跳转语句标号)

  • 标号:标记某个循环对其控制
  • 标号组成规则:其实就是合法的标识符 outer: for (int i=1;i<=9;i++){ inner: for (int j=1;j<=i;j++){ System.out.print(j+"*"+i+"="+(i*j)+'\t'); break outer; } System.out.println(); }

###04.17_Java语言基础(控制调整语句练习)

  • A:练习题
  •   for(int x=1; x<=10; x++) {
      	if(x%3==0) {
      		//在此处填写代码
      	}
      	System.out.println(“Java基础班”);
      }
      
      我想在控制台输出2次:“Java基础班“
      我想在控制台输出7次:“Java基础班“
      我想在控制台输出13次:“Java基础班“
      ![](https://oscimg.oschina.net/oscnet/efc0d344465f87a8e650d1e4d0930f59f29.jpg)
    

###04.18_Java语言基础(控制跳转语句return语句)

  • A:return的作用
    • 返回
    • 其实它的作用不是结束循环的,而是结束方法的。
  • B:案例演示
    • return和break以及continue的区别?
    • return是结束方法
    • break是跳出循环
    • continue是终止本次循环继续下次循环

###04.19_Java语言基础(方法概述和格式说明)

  • A:为什么要有方法
    • 提高代码的复用性
  • B:什么是方法
    • 完成特定功能的代码块。
  • C:方法的格式
  •   修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...) {
      	方法体语句;
      	return 返回值; 
      } 
    
  • D:方法的格式说明
    • 修饰符:目前就用 public static。后面我们再详细的讲解其他的修饰符。
    • 返回值类型:就是功能结果的数据类型。
    • 方法名:符合命名规则即可。方便我们的调用。
    • 参数:
      • 实际参数:就是实际参与运算的。
      • 形式参数;就是方法定义上的,用于接收实际参数的。
    • 参数类型:就是参数的数据类型
    • 参数名:就是变量名
    • 方法体语句:就是完成功能的代码。
    • return:结束方法的。
    • 返回值:就是功能的结果,由return带给调用者。

###04.20_Java语言基础(方法之求和案例及其调用)

  • A:如何写一个方法
    • 1,明确返回值类型
    • 2,明确参数列表
  • B:案例演示
    • 需求:求两个数据之和的案例
  • C:方法调用图解

###04.21_Java语言基础(方法的注意事项)

  • A:方法调用(有具体返回值)
    • a:单独调用,一般来说没有意义,所以不推荐。
    • b:输出调用,但是不够好。因为我们可能需要针对结果进行进一步的操作。
    • c:赋值调用,推荐方案。
  • B:案例演示
    • a:方法不调用不执行
    • b:方法与方法是平级关系,不能嵌套定义
    • c:方法定义的时候参数之间用逗号隔开
    • d:方法调用的时候不用在传递数据类型
    • e:如果方法有明确的返回值,一定要有return带回一个值

###04.22_Java语言基础(方法的练习)

  • A:案例演示
    • 需求:键盘录入两个数据,返回两个数中的较大值
  • B:案例演示
    • 需求:键盘录入两个数据,比较两个数是否相等

###04.23_Java语言基础(方法之输出星形及其调用)

  • A:案例演示
    • 需求:根据键盘录入的行数和列数,在控制台输出星形
  • B:方法调用:(无返回值,void)
    • 单独调用
    • 输出调用(错误)
    • 赋值调用(错误)

###04.24_Java语言基础(方法的练习)

  • A:案例演示
    • 需求:根据键盘录入的数据输出对应的乘法表

###04.25_Java语言基础(方法重载概述和基本使用)

  • A:方法重载概述
    • 求和案例
      • 2个整数
      • 3个整数
      • 4个整数
  • B:方法重载:
    • 在同一个类中,方法名相同,参数列表不同。与返回值类型无关。

    • 参数列表不同:

      • A:参数个数不同
      • B:参数类型不同
      • C:参数的顺序不同(算重载,但是在开发中不用)

###04.26_Java语言基础(方法重载练习比较数据是否相等)

  • A:案例演示

    • 需求:比较两个数据是否相等。
    • 参数类型分别为两个int类型,两个double类型,并在main方法中进行测试

    ###05.26_Java语言基础(数组) /*

  • A:什么是数组的初始化

    • 就是为数组开辟连续的内存空间,并为每个数组元素赋予值
  • B:如何对数组进行初始化

    • a:动态初始化 只指定长度,由系统给出初始化值
      • int[] arr = new int[5];
    • b:静态初始化 给出初始化值,由系统决定长度
  • C:动态初始化的格式:

    • 数据类型[] 数组名 = new 数据类型[数组长度];
  • D:案例演示

    • 输出数组名称和数组元素

    整数类型:byte,short,int,long默认初始化值都是0 浮点类型:float,double默认初始化值都是0.0 布尔类型:boolean默认初始化值false 字符类型:char默认初始化值'\u0000' char在内存中占的两个字节,是16个二进制位 \u0000,每一个0其实代表的是16进制的0,那么四个0就是代表16个二进制位

    [I@19bb25a

    [代表是数组,几个就代表几维 I代表是int类型 @是固定的 19bb25a代表的是数组的地址值 / /

  • A:栈(掌握)

    • 存储局部变量 局部变量:定义在方法声明上和方法中的变量
  • B:堆(掌握)

    • 存储new出来的数组或对象
  • C:方法区

    • 面向对象部分讲解
  • D:本地方法区

    • 和系统相关
  • E:寄存器

    • 给CPU使用 */ 一个数组的内存图 三个引用两个数组

 

 

 

转载于:https://my.oschina.net/u/3668429/blog/1926876

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值