Posts java 基础(一)
Post
Cancel

java 基础(一)

day1

前言

  • 字节转换
    • 8 bit = 1 B
    • 1024 B =1 KB
    • 1024 KB =1 MB
    • 1024 MB =1 GB
    • 1024 GB = 1 TB
  • 常用的dos命令

</img>

  • java的编写与编译 利用dos编译源文件
    1
    2
    
      javac HelloWorld.java
      java HelloWorld
    
  • 标识符的命名要求
    • 标识符可以包含 英文字母26个(区分大小写) 、 0-9数字 、 $(美元符号) 和 _(下划线)
    • 标识符不能以数字开头。
    • 标识符不能是关键字。
  • 命名规范
    • 类名规范:首字母大写,后面每个单词首字母大写(大驼峰式)。
    • 方法名规范: 首字母小写,后面每个单词首字母大写(小驼峰式)。
    • 变量名规范:全部小写。

      常量与变量细节

      常量

      </img>

变量

四类八种基本数据类型: img src=”/assets/img/java/p3.png”></img> 几个标记特殊的表达方式

1
2
3
//对于float和long类型来说,字母后缀F和L不要丢掉。
long num = 300000000000L
float num = 2.5F

day2

数据的类型转换

  • 自动转换 转换规则如下,由小自动填充到大 ~~~java //byte、short、char‐‐>int‐‐>long‐‐>float‐‐>double      int i = 1;       double d = 2.5;      //int类型和double类型运算,结果是double类型      //int类型会提升为double类型     double e = d+i;
  • 强制转换 将 取值范围大的类型 强制转换成 取值范围小的类型 。 转换格式如下: ~~~ java //数据类型 变量名 = (数据类型)被转数据值 //double类型数据强制转成int类型,直接去掉小数点。 int i = (int)1.5;
  • 几点注意
    1
    2
    3
    
    short i = 1;
    i = i +1; //编译报错
    i = (short)(i+1) //编译成功
    

    对此解释如下: s和1做运算的时候,1是int类型,s会被提升为int类型      s+1后的结果是int类型,将结果在赋值会short类型时发生错误        short内存2个字节,int类型4个字节        必须将int强制转成short才能完成赋值

几类运算符小结

  • ++运算
    • 独立运算时,前++与后++没有区别
  • 混合运算时 区别明显
    • 变量 前++ :变量a自己加1,将加1后的结果赋值给b,也就是说a先计算。a和b的结果都是2。
      1
      2
      3
      4
      5
      6
      
          int a = 1;     
          int b = ++a;     
          //System.out.println(a);
          //计算结果是2     
          //System.out.println(b);
          //计算结果是2 
      
    • 变量后++ ,变量a先把自己的值1,赋值给变量b,此时变量b的值就是1,变量a自己再加1。a的结果是2,b 的结果是1。
      1
      2
      3
      4
      5
      6
      
          int a = 1;     
          int b = a++;     
          //System.out.println(a);
          //计算结果是2     
          //System.out.println(b);
          //计算结果是1 
      
  • +运算符在字符串中表示拼接
  • !表示取反操作
  • 三元运算符的基本格式 int i = (1==2 ? 100 : 200);

方法(函数)的定义与调用

基本格式

1
2
3
4
修饰符 返回值类型 方法名 (参数列表){
    代码...              
    return ;       
}

调用

1
方法名 (参数列表)

几点注意:

  • 方法必须定义在一类方法之外
  • 方法不能定义在另一个方法的里面

    jshell 简单介绍

    方便快捷编写代码,jdk9特性 </img>

day3

流程控制语句

if else if else 略

选择语句

  • 选择语句switch
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    switch (表达式){
    case 常量值1
      语句体1
      break
    case (表达式){
      case 常量值2
        语句体2
        break
    default:
      语句体
      break
    }
    }
    
  • 执行流程
    • 首先计算出表达式的值
    • 其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结 束。
    • 最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。
  • case 的穿透性 在switch语句中,如果case的后面不写break,将出现穿透现象,也就是不会在判断下一个case的值,直接向后运 行,直到遇到break,或者整体switch结束。

    循环与跳出

  • 循环 for / while / do while 略
  • 跳出
    • break 语句 直接终止循环
    • contine 语句 结束本次循环,继续下次循环。
  • 死循环
    1
    2
    3
    
    while (true){
      语句体
    }
    

    day4

    IDEA 简述

  • 常用快捷键

  • 快捷键的修改

    File->Settings->keymap->Main menu->code->Completion->Basic

    方法(函数)

  • 方法调用的三种形式

    • 直接调用:直接写方法名调用
    • 赋值调用:调用方法,在方法前面定义变量,接收方法返回值
    • 在输出语句中调用方法, System.out.println(方法名()) 不能输出语句调用 void 类型的方法。因为方法执行后没有结果,也就打印不出任何内容

## 方法的重载

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
 public class Demo01MethodOverload {

    public static void main(String[] args) {
        System.out.println(sum(10, 20)); // 两个参数的方法
        System.out.println(sum(10, 20, 30)); // 三个参数的方法
        System.out.println(sum(10, 20, 30, 40)); // 四个参数的方法
//      System.out.println(sum(10, 20, 30, 40, 50)); 
//      找不到任何方法来匹配,所以错误!

        sum(10, 20);
    }

    public static int sum(int a, double b) {
        return (int) (a + b);
    }

    public static int sum(double a, int b) {
        return (int) (a + b);
    }

    public static int sum(int a, int b) {
        System.out.println("有2个参数的方法执行!");
        return a + b;
    }

    // 错误写法!与方法的返回值类型无关
//    public static double sum(int a, int b) {
//        return a + b + 0.0;
//    }

    // 错误写法!与参数的名称无关
//    public static int sum(int x, int y) {
//        return x + y;
//    }

    public static int sum(double a, double b) {
        return (int) (a + b);
    }

    public static int sum(int a, int b, int c) {
        System.out.println("有3个参数的方法执行!");
        return a + b + c;
    }

    public static int sum(int a, int b, int c, int d) {
        System.out.println("有4个参数的方法执行!");
        return a + b + c + d;
    }
  • 几点说明
    • 方法的重载只与方法的输入值与类型有关
    • 与参数的名称无关,与返回值类型无关。

day5

数组

  • 数组的两类定义方式
    • 方式一,动态初始化(指定长度):
      • 数组存储的数据类型[] 数组名字 = new 数组存储的数据类型[长度]
        1
        
        int [] arr = new int[3]
        
      • 动态初始化,可以拆分成两个步骤
        1
        2
        
        int[] arrayB;
        arrayB = new int[] { 11, 21, 31 };
        
    • 方式二,静态初始化基本格式:
      • 数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3…}
        1
        
        int [] arr = int[]{1,2,3,4,5}
        
      • 静态初始化格式,可以拆分成两个步骤 ~~~java int [] arrA; arrA = new int[]{1,2,3,4};
    • 方式三,静态初始化的省略格式
      1
      
       int[] arrayA = { 10, 20, 30 };
      

      静态初始化的省略格式不可以拆分成两个步骤

  • 数组的长度属性 arr.length
  • 数组的索引与访问 略
  • 数组在内存中的储存⭐⭐

This post is licensed under CC BY 4.0 by the author.

Contents

Trending Tags