JAVA_Base

JAVA基础学习

2017.01.20

1) 计算机基础知识(键盘功能键和快捷键)

  • A:键盘功能键
    • a:Tab
    • b:Shift
    • c:Ctrl
    • d:Alt
    • e:空格
    • f:Enter
    • g:Window
    • h:上下左右键
    • i:PrtSc(PrintScreen)屏幕截图
  • B:键盘快捷键
    • a:Ctrl+A 全选
    • b:Ctrl+C 复制
    • c:Ctrl+V 粘贴
    • d:Ctrl+X 剪切
    • e:Ctrl+Z 撤销
    • f:Ctrl+S 保存

2) 计算机基础知识(常见的DOS命令)

  • A:d: 回车 盘符切换
  • B:dir(directory):列出当前目录下的文件以及文件夹
  • C:cd (change directory)改变指定目录(进入指定目录)
  • D:cd.. : 退回到上一级目录
  • E:cd: 退回到根目录
  • F:cls : (clear screen)清屏
  • G:exit : 退出dos命令行(分割线上的需要掌握,下的了解)
  • /=========================================================
  • md (make directory) : 创建目录
  • rd (remove directory): 删除目录
  • del (delete): 删除文件,删除一堆后缀名一样的文件*.txt
  • notepad 创建文件
  • 删除带内容的文件夹
    • rd + /s 文件夹名称(询问是否删除)
    • rd + /q + /s 文件夹名称(直接删除)

3) Java语言基础(HelloWorld案例的编写和运行)

  • A:定义类
  • B:写main方法
  • C:写输出语句
  • D:Java程序开发运行与工作原理
  • E:编译和运行程序

    class HelloWorld {
        public static void main(String[] args) {
            System.out.println("HelloWorld");
        }
    }
    

4) Java语言基础(Java语言的书写格式(约定俗成))

  • 1,大括号要对齐,并且成对写
  • 2,左大括号前面有空格
  • 3,遇到左大括号要缩进,Tab
  • 4,方法和程序块之间加空行让程序看起来清晰
  • 5,并排语句之间加空格,例如for语句
  • 6,运算符两侧加空格

5) Java语言基础(关键字的概述和使用)

  • A:什么是关键字
    • 被Java语言赋予特定含义的单词
  • B:关键字的特点
    • 组成关键字的字母全部小写
  • C:常见关键字
    • public static void class等
  • D:关键字的注意事项
    • goto和const作为保留字存在,目前并不使用,类似Editplus这样的高级记事本,针对关键字有特殊的颜色标记,非常直观

6) Java语言基础(标识符的概述和组成规则)

  • A:什么是标识符
    • 就是给类,接口,方法,变量等起名字时使用的字符序列
  • B:标识符的组成规则
    • 英文大小写字母
    • 数字字符
    • $和_
  • C:标识符注意事项
    • 1,不能使用关键字
    • 2,不能数字开头

7) Java语言基础(标识符中常见的命名规则)

  • 见名知意
  • A:包
    • 最好是域名倒过来,要求所有的字母小写
  • B:类或者接口
    • 如果是一个单词首字母大写
    • 如果是多个单词每个单词首字母大写(驼峰标识)
  • C:方法或者变量
    • 如果是一个单词全部小写
    • 如果是多个单词,从第二个单词首字母大写
  • D:常量
    • 如果是一个单词,所有字母大写
    • 如果是多个单词,所有的单词大写,用下划线区分每个单词

2017.01.22

1) Java语言基础(不同进制数据的表现形式)(掌握)

  • A:二进制的数据表现形式
    • 由0,1组成。以0b(b可以大写也可以小写)开头(JDK1.7版本可以表示二进制了)
  • B:八进制的数据表现形式
    • 由0,1,…7组成。以0开头
  • C:十进制的数据表现形式
    • 由0,1,…9组成。整数默认是十进制的
  • D:十六进制的数据表现形式
    • 由0,1,…9,a,b,c,d,e,f(大小写均可)。以0x开头

2)Java语言基础(数据类型的概述和分类)(掌握)

  • A:为什么有数据类型
    • Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间
  • B:Java中数据类型的分类
    • 基本数据类型
    • 引用数据类型
      • 面向对象部分讲解
  • C:基本数据类型分类(4类8种)
    • 整数型
      • byte 占一个字节 -128到127
      • short 占两个字 -2^15~2^15-1
      • int 占四个字节 -2^31~2^31-1
      • long 占八个字节 -2^63~2^63-1
    • 浮点型
      • float 占四个字节 -3.403E38~3.403E38 单精度
      • double 占八个字节-1.798E308~1.798E308 双精度
    • 字符型
      • char 占两个字节 0~65535(注意区分和单片机编译系统的不同之处)
    • 布尔型
      • boolean
        • boolean理论上是占八分之一个字节,因为一个开关就可以决定是true和false了,但是java中boolean类型没有明确指定他的大小

3) Java语言基础(long与float的取值范围谁大谁小)(了解)

  • 进行混合运算的时候,byte,short,char不会相互转换,都会自动类型提升为int类型,其他类型进行混合运算的是小的数据类型提升为大的
    • byte,short,char – int – long – float – double
      • long:2^63-1
      • float:3.4*10^38 > 2*10^38 > 2*8^38 = 2*2^3^38 = 2*2^114 > 2^63-1

4)Java语言基础(算术运算符++和–的练习)(掌握)

  • 面试题
    • byte b = 10;
    • b++;
    • b = b + 1;
    • 问哪句会报错,为什么
  • 第三句代码会报错,因为1是int类型,b是byte类型,直接相加赋值给b可能会损失精度!!!

5) Java语言基础(赋值运算符的面试题)(掌握)

  • 面试题:看下面的程序是否有问题,如果有问题,请指出并说明理由。
    • short s=1;s = s+1;
    • short s=1;s+=1;
  • 第一句会报错,因为定义s是short类型,在s+1的时候,1是int类型,直接相加赋值给S可能会损失精度。而第二句中定义了s为short类型,自加1仍然是short类型,不会报错

2017.01.24

1) Java语言基础(逻辑运算符的基本用法)(掌握)

  • A:逻辑运算符有哪些

    • & , | , ^ , !
    • && , ||
  • 注意事项:

    • a:逻辑运算符一般用于连接boolean类型的表达式或者值。
    • b:表达式:就是用运算符把常量或者变量连接起来的符合java语法的式子。
      • 算术表达式:a + b
      • 比较表达式:a == b(条件表达式)
  • B:结论:
  • & 逻辑与:有false则false。
  • | 逻辑或:有true则true。
  • ^ 逻辑异或:相同为false,不同为true。
  • ! 逻辑非:非false则true,非true则false。
    • 特点:偶数个不改变本身。

2) Java语言基础(位运算符的基本用法1)(了解)

  • A:位运算符有哪些

    • & , | , ^ , ~ , >> , >>> , <<
  • & , | , ^ , ~ 的用法

    • &:有0则0
    • |:有1则1
    • ^:相同则0,不同则1
    • ~:按位取反

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

  • A:案例演示

    • 位异或运算符的特点

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

  • B:面试题:

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

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

  • A:案例演示 >>,>>>,<<的用法:
    • << : 左移 左边最高位丢弃,右边补齐0
    • >> : 右移 最高位是0,左边补齐0;最高为是1,左边补齐1
    • >>> : 无符号右移 无论最高位是0还是1,左边补齐0
    • 最有效率的算出2 * 8的结果

6) Java语言基础(三元运算符的基本用法)(掌握)

  • A:三元运算符的格式
  • (关系表达式) ? 表达式1 : 表达式2;

7) Java语言基础(键盘录入的基本格式讲解)(掌握)

  • A:为什么要使用键盘录入数据
    • a:为了让程序的数据更符合开发的数据
    • b:让程序更灵活一下
  • B:如何实现键盘录入呢?
    • 先照格式来。
    • a:导包
      • 格式:
        • import java.util.Scanner;
      • 位置:
        • 在class上面。
    • b:创建键盘录入对象
      • 格式:
        • Scanner sc = new Scanner(System.in);
    • c:通过对象获取数据
      • 格式:
        • int x = sc.nextInt();

8) Java语言基础(顺序结构语句)(了解)

  • A:什么是流程控制语句
    • 流程控制语句:可以控制程序的执行流程。
  • B:流程控制语句的分类
    • 顺序结构
    • 选择结构
    • 循环结构
  • C:执行流程:
    • 从上往下,依次执行。

9) 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可以省略,但是建议不要省略,可以对范围外的错误值提示

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

  • A:switch语句的格式

  • switch(表达式) {
    case 值1:
    语句体1;
    break;
    case 值2:
    语句体2;
    break;

    default:
    语句体n+1;
    break;
    }
  • B:执行流程
    • 先计算表达式的值
    • 然后和case后面的匹配,如果有就执行对应的语句,否则执行default控制的语句

2017.01.25

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

  • A:循环结构的分类
    • for,while,do…while
  • B:循环结构for语句的格式:

  • for(初始化表达式;条件表达式;循环后的操作表达式) {
    循环体;
    }
  • C执行流程:
    • a:执行初始化语句
    • b:执行判断条件语句,看其返回值是true还是false
      • 如果是true,就继续执行
      • 如果是false,就结束循环
    • c:执行循环体语句;
    • d:执行循环后的操作表达式
    • e:回到B继续。

2) Java语言基础(循环结构while语句的格式和基本使用)

  • A:循环结构while语句的格式:
  • while循环的基本格式:
    while(判断条件语句) {
        循环体语句;
    }
    
    完整格式:
    
    初始化语句;
    while(判断条件语句) {
         循环体语句;
         控制条件语句;
    }
    
  • B:执行流程:
    • a:执行初始化语句
    • b:执行判断条件语句,看其返回值是true还是false
      • 如果是true,就继续执行
      • 如果是false,就结束循环
    • c:执行循环体语句;
    • d:执行控制条件语句
    • e:回到B继续。

3) Java语言基础(循环结构do…while语句的格式和基本使用)

  • A:循环结构do…while语句的格式:
  • do {
        循环体语句;
    }while(判断条件语句);
    
    完整格式;
    初始化语句;
    do {
        循环体语句;
        控制条件语句;
    }while(判断条件语句);
    
  • B:执行流程:
    • a:执行初始化语句
    • b:执行循环体语句;
    • c:执行控制条件语句
    • d:执行判断条件语句,看其返回值是true还是false
      • 如果是true,就继续执行
      • 如果是false,就结束循环
    • e:回到b继续。

4) Java语言基础(循环结构三种循环语句的区别)

  • A:案例演示
    • 三种循环语句的区别:
    • do…while循环至少执行一次循环体。
    • 而for,while循环必须先判断条件是否成立,然后决定是否执行循环体语句。
  • B:案例演示

    • for循环和while循环的区别:
      • A:如果你想在循环结束后,继续使用控制条件的那个变量,用while循环,否则用for循环。不知道用谁就用for循环。因为变量及早的从内存中消失,可以提高内存的使用效率。
       
        注意:
        '\x' x表示任意,\是转义符号,这种做法叫转移字符。
    
    
    '\t'    tab键的位置
    '\r'    回车
    '\n'    换行
    '\"'
    '\''
    

5) Java语言基础(控制跳转语句return语句)

  • A:return的作用
    • 返回
    • 其实它的作用不是结束循环的,而是结束方法的。

6) Java语言基础(方法概述和格式说明)

  • A:为什么要有方法
    • 提高代码的复用性
  • B:什么是方法
    • 完成特定功能的代码块。
  • C:方法的格式

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

7) Java语言基础(方法的注意事项)

  • A:方法调用(有具体返回值)
    • a:单独调用,一般来说没有意义,所以不推荐。
    • b:输出调用,但是不够好。因为我们可能需要针对结果进行进一步的操作。
    • c:赋值调用,推荐方案。

8) Java语言基础(方法重载概述和基本使用)

  • A:方法重载概述 (很重要
    • 求和案例
      • 2个整数
      • 3个整数
      • 4个整数
  • B:方法重载:

    • 在同一个类中,方法名相同,参数列表不同。与返回值类型无关。

    • 参数列表不同:

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

2017.01.28

1) Java语言基础(数组概述和定义格式说明)(了解)

  • A:为什么要有数组(容器)
    • 为了存储同种数据类型的多个值
  • B:数组概念

    • 数组是存储同一种数据类型多个元素的集合。也可以看成是一个容器。
    • 数组既可以存储基本数据类型,也可以存储引用数据类型。
  • C:数组定义格式
    数据类型[] 数组名 = new 数据类型[数组的长度];

2) Java语言基础(数组的初始化动态初始化)(掌握)

  • A:什么是数组的初始化
    • 就是为数组开辟连续的内存空间,并为每个数组元素赋予值
  • B:如何对数组进行初始化
    • a:动态初始化 只指定长度,由系统给出初始化值
      • int[] arr = new int[5];
    • b:静态初始化 给出初始化值,由系统决定长度
  • C:动态初始化的格式:
    • 数据类型[] 数组名 = new 数据类型[数组长度];

3) Java语言基础(Java中的内存分配以及栈和堆的区别)

  • A:栈(掌握)
    • 存储局部变量
  • B:堆(掌握)
    • 存储new出来的数组或对象
  • C:方法区
    • 面向对象部分讲解
  • D:本地方法区
    • 和系统相关
  • E:寄存器
    • 给CPU使用

4) Java语言基础(数组操作的两个常见小问题越界和空指针)(掌握)

  • a:ArrayIndexOutOfBoundsException:数组索引越界异常
    • 原因:你访问了不存在的索引。
  • b:NullPointerException:空指针异常
    • 原因:数组已经不在指向堆内存了。而你还用数组名去访问元素。
    • int[] arr = {1,2,3};
    • arr = null;
    • System.out.println(arr[0]);

5) Java语言基础(数组的操作1遍历)(掌握)

  • A:案例演示

    • 数组遍历:就是依次输出数组中的每一个元素。
    • 数组的属性:arr.length数组的长度
    • 数组的最大索引:arr.length - 1;

      public static void print(int[] arr) {
          for (int i = 0;i < arr.length ;i++ ) {
              System.out.print(arr[i] + " ");
          }
      }
      

6) Java语言基础(二维数组概述和格式1的讲解)(了解)

  • A:二维数组概述
  • B:二维数组格式1
    • int[][] arr = new int[3][2];
  • C:二维数组格式1的解释
  • D:注意事项

    • a:以下格式也可以表示二维数组
      • 1:数据类型 数组名[][] = new 数据类型[m][n];
      • 2:数据类型[] 数组名[] = new 数据类型[m][n];
    • B:注意下面定义的区别
    • int x;
      int y;
      int x,y;
      
      int[] x;
      int[] y[];
      
      int[] x,y[];    x是一维数组,y是二维数组
      

7) Java语言基础(二维数组格式2的讲解及其内存图解)(了解)

  • A:二维数组格式2
    • int[][] arr = new int[3][];

8) Java语言基础(二维数组格式3的讲解及其内存图解)(了解)

  • A:二维数组格式3
    • int[][] arr = {{1,2,3},{4,5},{6,7,8,9}};
    • 讲解格式,输出数据,并画内存图

9) Java语言基础(注意事项)

  • Java和C语言有相似之处,也有不同之处:
    • JAVA的变量值是值,地址值也是值
    • JAVA在方法里调用方法外变量可以直接修改变脸地址所对应的值,而C语言必须使用指针,这是两者的异同,必须注意
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值