JAVA基础学习

JAVA基础学习

前言:千里之行,始于足下,从这里开始吧。

一、数据类型、运算符、API介绍、键盘录入

1、类型转换

(1)自动类型转换

范围类型小的变量,可以直接赋值给范围类型大的变量。
例如:

byte a=12;
int b=a;

像这样最后输出b=12;

(2)表达式的类型转换

在表达式当中,小范围类型的变量会自动转换成当前较大范围的类型再运算
类型大小从小到大的排序为byte char short<int<long<float<double
需要注意的是
表达式的最终结果类型由表达式中的最高类型决定
在表达式当中,byte short char是直接转换成int类型参与运算的。

(3)强制类型转换

类型范围大的变量或者数据不能直接赋值给类型范围小的变量,会报错。
但是可以通过强制类型转换来实现
数据类型 变量2=(数据类型)变量1

int a=20;
byte b=(byte)a;

强制类型转换可能会造成数据丢失(溢出);
例如 浮点型强转成整形,直接丢掉小数部分,保留整数部分返回。

2、运算符

(1)基本算术运算符

+,-,*,/,%

(2)加号作连接符

  • 与字符串做+运算时会被当作连接符,其结果还是字符串。
  • 能算则算,不能算就在一起。

(3)自增自减运算符

++和–既能放在变量前面也能放在后面。
只能操作变量,不能操作字面量。

  • 放在变量的前面,先对变量进行+1或者-1,再拿变量的值进行运算。
  • 放在后面,先拿变量的值进行运算,再对变量的值进行+1,-1

(4)赋值运算符

基本赋值运算符:=
扩展赋值运算符+=,-=,*=,/=,%=
扩展赋值运算符隐含了强制类型转换

(5)关系运算符

==,!=,<,>,>=,<=

(6)逻辑运算符

与&,或 |,非!
逻辑异或 ^:如果两个条件都是false或者都是true则结果为false,两个条件不同结果为true。
&和 |无论左边是true还是false,右边都要执行。

  • 短路逻辑运算符
    &&判断结果与&一致,过程是左边为false,右边不执行。
    | |判断结果与|一致,过程是左边为true,右边不执行。

(7)三元运算符

格式:条件表达式?值1:值2;
执行流程:首先计算关系表达式的值,如果值为true,返回值1,如果为false,返回值2。

(8)运算符优先级

在这里插入图片描述

3、键盘录入

在这里插入图片描述

4、API简述

在这里插入图片描述

二、程序流程控制、Random类

1、流程控制语句

在这里插入图片描述

2、switch语句

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、while和for语句

在这里插入图片描述

4、死循环

在这里插入图片描述

5、跳转关键字

在这里插入图片描述
在这里插入图片描述

2、Random随机数

在这里插入图片描述
在这里插入图片描述

三、数组、Debug

1、数组的定义

在这里插入图片描述
数组适合做一批同种类型数据的存储。

(1)静态初始化数组

在这里插入图片描述

数组的基本原理

在这里插入图片描述

数组的访问

在这里插入图片描述

(2)动态初始化数组

在这里插入图片描述

动态初始化数组的元素默认值

在这里插入图片描述

2、数组的遍历

在这里插入图片描述

3、数组的案例

(1)数组元素求和

在这里插入图片描述

(2)数组元素求最大值

在这里插入图片描述

(3)猜数字游戏

在这里插入图片描述

(4)随机排名

在这里插入图片描述

int []code=new int[5];
    Scanner a=new Scanner(System.in);
        for (int i = 0; i < code.length ; i++) {
            int number= a.nextInt();
            code[i]=number;
        }
    Random b=new Random();
        for (int i = 0; i < code.length ; i++) {
            int index= b.nextInt(code.length);
            int temp=code[index];
            code[index]=code[i];
            code[i]=temp;
        }
        for (int i = 0; i < code.length ; i++) {
            System.out.println(code[i]+"\t");
        }

(5)冒泡排序

在这里插入图片描述

// 1、定义一个数组,存储一些数据啊
        int[] arr = {5, 2, 3, 1};
        //           0  1  2  3
        // 2、定义一个循环控制比较的轮数
        for (int i = 0; i < arr.length - 1; i++) {
            // i == 0  比较的次数 3  j = 0 1 2
            // i == 1  比较的次数 2  j = 0 1
            // i == 2  比较的次数 1  j = 0
            // 3、定义一个循环控制每轮比较的次数,占位
            for (int j = 0; j < arr.length - i - 1; j++) {
                // 判断j当前位置的元素值 是否 大于后一个位置 若较大 则交换
                if(arr[j] > arr[j+1]) {
                    int temp = arr[j+1];
                    arr[j+1] = arr[j];
                    arr[j] = temp;
                }
            }
        }
 // 遍历数组内容输出
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + "\t");
        }

4、数组的内存图

(1)JAVA的内存分配

在这里插入图片描述
在这里插入图片描述

(2)两个变量指向同一个数组

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值