第一阶段模块一java基础

1. 初始计算机与java语言

计算机体系结构(常识)

  • 组成

    • 计算机硬件

    CPU 内存 硬盘 输入输出设备 主板 机箱 电源等

    • 计算机软件

    系统软件 应用软件

  • 计算机单位

1Tb = 1024Gb
1Gb = 1024Mb
1Mb = 1024Kb
1Kb = 1024Byte (字节)
1Byte = 8Bit (二进制位)

java语言概述(常识)

  • 计算机语言

    机器语言->汇编语言->高级语言

  • java语言之父-詹姆斯·高斯林

  • java版本

    • JAVA SE 标准版

    • JAVA EE 企业版

    • JAVA ME 微型版

java开发环境搭建

  • 环境变量
JAVA_HOME="/HOME/jdk1.8.0_201.jdk/Contents/Home"
CLASS_PATH="$JAVA_HOME/lib"
PATH=".$PATH:$JAVA_HOME/bin"
  • 相关概念

    • JDK - Java开发工具包
    • JRE - Java SE运行时环境
    • javac.exe - 编译器
    • java.exe - 解释器
  • JDK & JRE & JVM

在这里插入图片描述

  • 编译运行

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ldleppiG-1597921697464)(/Users/shj/Library/Application Support/typora-user-images/image-20200820160544495.png)]

  • 跨平台原理

    Java字节码可以通过JVM翻译为具体平台能够执行的机器指令。由于Sun

    定义了JVM规范,而且不同的操作系统大多提供了JVM实现,才使得相同 的一个字节码文件可以在不同的系统上运行,从而使Java赢得了“一次编 译,到处使用”的美名。

2. Java语言基础

变量(重点)

声明变 量的本质就是在内存中申请一个存储单元,由于该存储单元中的数据内 容可以发生改变,因此得名为"变量"

  • 声明
Type name [= value];
  • 注意
    • 变量使用前必须指明数据类型
    • 变量使用前必须初始化
    • 不能重复声明

标识符命名

  • 数字 字母 下划线以及$组成 数字不能开头( 112L 11.2f 代表long float)
  • 不能使用java关键字
  • 区分大小写
  • 中文支持不推荐
  • 可以给类/变量/属性/方法/包 起名字

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8WC5FloW-1597921697466)(/Users/note/java/java学习总结/02Java语言中的关键字.png)]

数据类型

由于存放的数据内容大小不一样,导致所需存储单元的大小不一样,在 Java语言中使用数据类型加以描述

  • 基本数据类型

    byte short int long float double boolean char
    
  • 引用数据类型

    数组 类 接口 枚举 标注 字符串 
    
  • 基本数据类型范围

    
    byte(1B)范围:-128--127
    short(2B)范围-32768--32767
    int(4B)范围:-2147483648--2147483647
    long(8B)范围:-9223372036854775808-9223372036854775807
    float(4B)范围:-3.403E38~3.403E38
    double(8B)范围:-1.798E308~1.798E308
    boolean(1B): true false
    char(2B):0 ~ 65535
    

ASCII(掌握)

‘0’(48) ‘A’(65) ‘a’(97) ‘空格’(32) ‘换行’(10)

基本数据类型转换

  • 字段类型转换

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

char —>int

  • 强制类型转换

(type)source

3. Java运算符

算术运算符

+ - * / %
System.out.println(10 / 3); // 3
// 保留小数 3.3333333333333335
System.out.println((double)10 / 3); 
System.out.println(10 / (double)3);
System.out.println((double)10 / (double)3);
// 强制转换(10/3)
System.out.println((double)(10 / 3)); // 3.0

字符串连接符

+
int a = 6;
int b = 2;
int c = 0;
System.out.println(a + b + c); // 8
System.out.println(a + b + c + "/"); // 8/
System.out.println(a + b + "/" + c);// 8/0
System.out.println(a + "/" + b + c);// 6/20
System.out.println("/" + a + b + c);// /620
System.out.println("/" + (a + b + c));// /8
System.out.println("/" + a * b * c);// /0

关系/比较运算符

> < == >= <= !=

自增减运算符

++ -- (自用于变量)
a++ // 1. a++ = a  2. a= a+1
a-- // 2. a-- = a. 3. a= a-1
++a // 1. a= a+1 2. ++a = a
--a // 1. a= a-1 2. --a = a
  
int a = 5;
(a++ + ++a) //  12 1. a++ = 5 2. a = 6 3. a = 7  4. ++a = 7 5. 5+7=12

逻辑运算符

&& || !

  • 短路特性

    boolean a1 = true;
    boolean b1 = false;
    (a1 || (10 / 0 > 1)) // 正常
    (a1 && (10 / 0 > 1)) // 报错
    (b1 || (10 / 0 > 1)) // 报错
    (b1 && (10 / 0 > 1)) // 正常
    

条件/三目运算符

 System.out.println(10>5?10:5); // 10
 System.out.println(10<5?10:5); // 5

赋值运算符

= += -= *= /+ %=

位移运算符

>> << >>>
2 << 3 (左移 3 位相当于乘以 2 的 3 次方, 右移 3 位相当于除以 2 的 3 次方)
31 * num 等价于(num << 5) - num

位运算

& | ~ ^

优先级

()最高 
=最低

4. 流程控制

  • 分支
if (true) { 
    // do;
}

if (true) {
    // do one;
}else {
    // do two;
}

if (true) {
    // do one;
}else(true){
    //do two;
}else{
    //do three;
}

switch (变量/表达式) {
    case 1:
        // do;
        break;
    case 2:
        // do ;
        break;
    default:
        // do;
}

在 Java 5 以前, switch(expr)中, expr 只能是 byte、short、char、int。 从 Java 5 开始 expr 也可以是 enum 类型, 从 Java 7 开始, expr 还可以是字符串(String

  • 循环
for (;?true;) {
    //do;
}
// 标号
标号: for (;;) {
    for(;;) {
        break 标号;
    }
}
while(?true) {
    //do;
}

do {
   //do ;
} while(?true);
  • continue语句用在循环体中,用于结束本次循环而开始下一次循环。
  • break用于退出当前语句块,break用在循环体中用于退出循环

5. 数组

数据类型[] 数组名称 = new 数据类型[长度];

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fkNifIiZ-1597921697469)(/Users/note/java/模块一 Java编程基础/05任务五 数组以及应用/02_图片/02一维数组的内存结构.png)]

  • 一维数组声明使用
int[] intArray = new int[2];
for (int i = 0; i < intArray.length; i++) {
  System.out.println(intArray[i]);
}
  • 数组工具

    java.util.Arrays

    static String toString(int[] a)输出数组中的内容
    static void fill(int[] a, int val)将参数指定元素赋值给数组中所有元素
    static boolean equals(boolean[] a, boolean[] a2)判断两个数组元素内容和次序是否相同
    static void sort(int[] a)对数组中的元素进行从小到大排序
    static int binarySearch(int[] a, int key)从数组中查找参数指定元素所在的位置
int[] arr = {5,4,3,2,1};
System.out.println(Arrays.toString(arr));
int[] arr2 = new int[10];
Arrays.fill(arr2, 10);
System.out.println(Arrays.toString(arr2));
System.out.println(Arrays.equals(arr, arr2));
int[] arr3 = new int[10];
Arrays.fill(arr3, 10);
System.out.println(Arrays.equals(arr3, arr2));
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
System.out.println(Arrays.binarySearch(arr, 5));

常见异常

  • ArithmeticException(算术异常)
  • ClassCastException (类转换异常)
  • IllegalArgumentException (非法参数异常)
  • IndexOutOfBoundsException (下标越界异常)
  • NullPointerException (空指针异常)
  • SecurityException (安全异常)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值