2022-05-07 23:33

Java基础知识(一)

sjx

JavaEE

(1740)

(0)

收藏

一、输出语句

    // 换行输出字符串内容

    System.out.println("");

    // 换行输出变量内容

    System.out.println(cx);

    // 不换行输出字符串内容

    System.out.print("");

    // 不换行输出变量内容

    System.out.println(cx);

    快捷键:sysout + Alt + /


二、变量

  • 定义变量(声明变量)

    制造容器   数据类型 变量名;

  • 基本数据类型:

数据类型

所占字节

对应的类

整型

字节型

byte

1字节

Byte

短整型

short

2字节

Short

整型

int

4字节

Integer

长整型

long

8字节

Long

浮点型

单精度

float

4字节

Float

双精度

double

8字节

Double

字符型

char

2字节

Character

布尔型

boolean

1字节

Boolean

    变量的数据类型不得更改

  • 命名规则:

    (1) 由字母、数字、下划线、$组成

    (2) 开头只能是字母、下划线、$

    (3) 不能使用关键字命名

    (4) Java严格区分大小写

    (5) 起名要做到见名知义

  • 变量赋值:

    变量名 = 值;

    左右两边数据类型要保持一致

    变量可以重复赋值,值会被覆盖

    例:

    int a = 3;   // 变量a的值是3

    int b = a;   // 将a的值复制给b,所以变量b的值也是3

  • 字符串包含在""内,字符包含在''内,字符串可以拼接,字符不能拼接

  • 输出变量的值:

    int a = 10;   // 声明整型变量a,将10保存到变量a中

    System.out.println("a");   // 显示结果为: a

    System.out.println(a);   // 显示结果为: 10

  • 输入变量:

    Scanner sc = new Scanner(System.in);  

    // 创建工具,用来扫描键盘,从键盘读取数据

    System.out.print("请输入一个整数:");

    // 输入提示语句

    int a = sc.nextInt();

    // 声明变量a并赋值,将运行时输入的数据存入变量a中

    System.out.println(a);

    // 输出结果: 10

    快捷键:Ctrl + Shift + O导包

    输入整型变量nextInt()

    输入双精度浮点型nextDouble()

    输入字符串next()


三、运算符

  • 算术运算符

    +:(1)数据相加

          (2)字符串的拼接

    -:数据相减

    *:数据相乘

    /:数据相除 取整

        左右两边都为整数,运算结果为整数

        左右两边有一个位小数,运算结果为小数

    %:求余 取模

        得到两数相除的余数

        通过取模可以得到 [0, 被除数) 范围的数值

    应用:整数 / 10可以去掉整数的个位数;整数 % 10可以获得整数的个位数.

  • 关系运算符

    <   >   <=   >=   !=   ==

    运算结果为boolean类型,true或者false

  • 条件运算符

    变量 = 表达式1 ? 表达式2 : 表达式3;

    表达式1为true,结果为表达式2的值;

    表达式1为false,结果为表达式3的值.

  • 逻辑运算符

    &&(与):左右两边都为真,结果才为真

    ||(或):左右两边有一边为真,结果为真

    !(非):右边为真,结果为假

  • 赋值运算符

    =:把右边的值赋给左边

    变量只有在赋值的情况下,值才会改变

  • 单目运算符

    ++:自增运算符

    --:自减运算符

      例:y = x++;   // 先把x的值赋给y,再将x的值加1

             y = ++x;   // 先将x的值加1,再把x的值赋给y

            自减运算符和自增一样,也有x--和--x两种写法.


四、数据类型转换

  • 强制类型转换

    格式:(新的数据类型)数据

    例:

    int a = (int)3.14;   // 变量a的值为3

    强制类型转换只适用于整型、浮点型和字符型

    强制类型转换不会改变原变量的数据类型和值

  • 隐式类型转换

    从低级类型向高级类型转换,系统自动执行,"(新的数据类型)"可以省略.

    这些类型按精度从低到高排列:

byte→short→int→long→float→double

                       ↑

                     char

  • 常用ASCII码

    '0' = 48;    '9' = 57;

    'A' = 65;    'Z' = 90;

    '_' = 95;

    'a' = 97;    'z' = 122;


五、条件语句

  • if条件语句

    (1) 基础结构:

            if (条件) {   // 如果条件为true,执行代码块1

                代码块1

            } else {   // 如果条件为false,执行代码块2

                代码块2

            }

        else可以没有

      (2) 嵌套结构:

        if (条件) {

            if...

        } else {

          if...

        }   

  • switch多分支语句

    (1) 语句结构:

    switch (表达式) {

            case 值:

                    代码块

                    // break根据实际情况决定写不写

            case 值:

                    代码块

                    // break

            ......

            default:

                    代码块

                    // break

       }

       (2) switch语句中表达式的值必须是整型、字符型或字符串型


六、循环语句

  • while循环

    语法结构:

    while (true) {

            循环体

            if (条件) {

                    break;

            }

        }

        或者:

        while (条件) {

            循环体

        }

  • for循环

    (1) 语法结构:

  •      for (表达式A; 表达式B; 表达式C) {   // 表达式A:初始化语句;表达式B:判断条件语句;表达式C:控制条件语句

                循环体

            }

       for循环中的三个语句都可以省略,注意';'不能省,省略后相当于whiile (true){}

       (2) 执行顺序:

        ①在for循环开始前,首先执行表达式A;

        ②执行表达式B:若为true,执行循环体;若为false,跳出循环;

        ③循环体执行完,执行表达式C;

        ④执行完表达式C,再执行表达式B:若为true,执行循环体;若为false,跳出循环;

        ⑤循环执行第三步和第四步.


七、局部变量

    在方法、条件判断语句、循环语句中声明的变量都是局部变量,并只能在对应的范围内使用。

    局部变量没有默认值,声明后必须初始化才能使用。


八、字符串

  • 字符串常用方法

    (1) 字符串的长度

        整型变量 = 字符串.length();

    (2) 比较两个字符串是否相同

        字符串1.equals(字符串2);   // 如果两个字符串相同,运算结果为true

    (3) 从字符串中取一个字符

        字符变量 = 字符串.charAt(下标);   // 下标从0开始

    (4) 判断子字符串是否存在

        布尔型变量 = 字符串.contains(子字符串);

    (5) 字符串变整数

        整型变量 = Integer.parseInt(字符串);

    (6) 字符串变小数

        浮点型变量 = Double.parseDouble(字符串);

    (7) 字符串变布尔值

        布尔型变量 = Boolean.parseBoolean(字符串);

        // 字符串为"true"时(此处不区分大小写),返回结果为true;其他字符串返回结果为false

    (8) 字符串分割

        String[] 数组变量 = 字符串.split(分隔符);

        // 如果是字符'+'、'*'、'|'、'.'、'^'、'$'、'?'、'{'、'}'、'['、']'作为分隔符,前面要加上"\\"

    (9) 字符串截取

        String 字符串变量 = 字符串.subString(起始下标, 终止下标);

        // 截取范围是[起始下标, 终止下标),即不包括终止下标对应的字符

    (10) 判断字符串是否为空

        布尔型变量 = 字符串.isEmpty();   // 当字符串length为0时(注意不是null),返回true

  • 字符串连接

    用"+"实现连接多个字符串.

    字符串也可以和其他基本数据类型连接,连接后,会将这些数据直接转换成字符串.

  • 字符型变量转换成字符串型变量

    字符串型变量 = 字符型变量 + "";

  • 格式化日期和时间

    Date date = new Date();   // 创建Date类的对象date

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");   // SimpleDateFormat是处理日期格式转换的类

    String s = sdf.format(date);   //将日期类型时间转换为定义格式,再转换为字符串类型时间

  • String类

    (1) 使用时不需要导包(java.lang.String)

    (2) final class String{}   

         String是一个最终类,不能被继承,创建一个String对象时,会给对象分配一块空间,当进行字符串的改变时,原字符串的内容不会改变,系统会给改变后的字符串重新分配内存.

    (3) Java语言为了安全,当要直接输出对象时,显示的结果是toString方法的返回值

         在Object类中间,toString()默认返回的是HashCode(哈希码),但String类中重写了toString()

         例:

         String s = new String("abcd");

         System.out.println(s);   // 输出abcd

         String xs = new XueSheng();

         System.out.println(xs);   // 输出XueSheng@2f92e0f4


九、数组

  • 数组可以同时存放多个数据类型相同的数据.

  • 定义数组(声明数组)

    第一种: 数据类型 数组名[] = new 数据类型[整型变量];   

    // 整型变量表示的是数组中可以存放的最多数据的个数,此时每个元素的初始值都是0

    第二种: 数据类型[] 数组名 = new 数据类型[整型变量];

    第三种: 数据类型 []数组名 = new 数据类型[整型变量];

    第四种: 数据类型 数组名[] = {n1, n2, n3...};   // n1, n2, n3表示初始化数组的元素值

    第五种: 数据类型 数组名[] = new 数据类型[]{n1, n2, n3...};

  • 数组下标从0开始

  • 数组定义好后,元素个数不能更改

  • 借助循环语句实现数组的输入与输出

  • 找数组元素的最大值(最小值同理)

    例:

    int n[] = {7, 4, 9};

    int max = n[0];

    for (int i = 1; i < 3; i++) {

            if (max < n[i]) {

                    max = n[i];

            }

      }

  • 求数组元素的和

    例:

    int sum = 0;

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

            sum = sum + n[i];

      }

  • 对数组元素排序(不用算法)

    Arrays.sort(数组名);   // 调用Arrays类中间的公共静态sort方法,默认从小到大


十、方法(函数)

  • 定义函数的位置: 在类里的任何位置

  • 格式:

    // 声明方法

    修饰符 返回值类型 方法名(形参) {

            方法体

      }

      // 调用函数

      方法名(实参);

  • 方法前面可以写4中修饰符:

    (1) 静态修饰符:static

    (2) 最终修饰符:final

    (3) 访问修饰符:private/public/缺省/protected

    (4) 抽象修饰符:abstract

    修饰符没有先后顺序,默认方法的访问修饰符为public

  • 返回值类型:

    (1) 有返回值:在声明方法时指定返回值类型,并在方法体内通过return返回指定类型的变量的值

    (2) 无返回值:在声明方法时用void表示,通常不写return,但如果使用的话,只能写"return;"表示结束方法

  • 方法名:要符合标识符的命名规则

  • 形参:可以声明多个,中间用','隔开,形参值改变不会影响到实参

  • 实参要和形参数据类型一致

  • 在一个方法里不能再定义方法

0条评论

点击登录参与评论