java基础之语法

一、JAVA入门前期tips

1、为什么要使用path环境变量

配置path环境变量主要目的是:用于记住程序路径,方便在命令行窗口的任意目录启动程序。

2、JDK安装时,环境变量需要注意什么?

较新版本的JDK会自动配置PATH环境变量,较老的JDK版本则不会。

建议还是自己配置一下“path”、“JAVA_HOME”

3、IDEA常用快捷键

  1. main/psvm、sout、…快捷键进入相关代码
  2. Ctrl+D复制当前行数据到下一行
  3. Ctrl+Y删除所在行,建议用Ctrl+X
  4. Ctrl+ALT+L格式化代码
  5. ALT+SHIFT+PgUp,ALT+SHIFT+PgDn上下移动代码
  6. Ctrl + /,Ctrl +shift+/,对代码进行注释

二、JAVA基础

一、JAVA基础语法

一、JAVA注释相关

1、注释是什么?

写在程序中对程序进行解释说明的文字

2、java程序中写注释的方式有几种,各自有什么不同?

  1. 单行注释:// 快捷键:Ctrl+/

  2. 多行注释:/* */ 快捷键:Ctrl+Shift+/

  3. 文档注释:/** */

3、注释有什么特点?

不影响程序的执行,编译后的class文件中已经没有注释了

二、字面量

1、字面量指的是

数据在程序中的书写格式

2、字符、字符串在程序中的书写格式有什么要求?

  • 字符必须单引号围起来,有且仅能一个字符
  • 字符串必须用双引号围起来

3、几个常见的特殊值的书写格式是?

  • true、false、null、\n(换行)、\t(tab缩进)

三、变量

1、变量的作用?

  • 存储一个数据,可以改变里面存储的数据。

2、变量的格式

  • 数据类型 变量名称=初始值 double money = 9.0;

3、变量定义有哪些注意点?

  • 变量要先声明再使用 int a ;

  • 什么类型变量存储什么类型的数据 a = 23;

  • 变量存在访问范围、同一个范围变量名不能重复 {该范围内不能定义2个同名的变量}

  • 变量定义时可以没有初始化值,但是在使用时必须有使用值

    int c;
    
    System.out.println(c);//error
    

4、变量在计算机中的底层原理

  1. 字符数据在计算机中是怎么存的?
    • 字符存的ASCII码表中对应的二进制形式。
    • 字符‘A’对应的数字是65
    • 字符‘a’对应的数字是97
    • 字符‘0’对应的数字是48
  2. 图片和音视频等文件的数据是怎么存储的?
    • 也是采用二进制存储的
  • 数据在计算机底层是怎么存储的?
    • 都是采用二进制:使用0、1,按照冯逢2进1的规则表示数据来存储
  • 如何快速算出一个数据的二进制格式?
    • 除二取余法
  • 数据在计算机底层存储的最小单位是什么?
    • 字节,一个字节等于8个二进制 位:1B=8b

四、数据类型

  • 引用数据类型:String

  • 基本数据类型:4类8种

    • 整数类型:int(4个字节)、byte(1个字节)、short(2个字节)、long(8个字节)
    • 浮点型:float、double
    • 字符型:char
    • 布尔型:boolean

    常见用法:32(默认是int型) 32.5(默认是double型)

    ​ 12L(long类型) 453.5f(float)

五、关键字标识符

标识符:标识类名、变量名方法名数组名及文件名的有效字符序列,简易将,标识符就是名字。特点见如下

  • 标识符由字母、下划线、美元符号和数字组成,长度不受限制
  • 标识符的第一个字符不能是数字字符
  • 标识符不能是关键字
  • 标识符不能是true、false、和null

关键字:具有特定用途或被赋予特定意义的一些单词,不能用作标识符使用。

二、类型转换

  1. 为什么要类型转换?

    • 存在不同类型的变量赋值给其他类型的变量
  2. 自动类型转换是什么样的?

    • 类型范围小的变量可以直接赋值给类型范围大的变量

    基本类型按精度从低到高排列:

    byte、short、char、int、long、float、double

    int x = 50;
    float y;
    y = x;//y的值将为50
    

    表达式的类型转换:

    byte i = 10;
    byte j = 20;
    int k = i + j;
    System.out.println(K);//k的值将为30
    
  • 表达式小范围的类型会自动转换成大范围的类型运算
  • 表达式的最终类型由表达式中的最高类型决定
  • byte、short、char直接转换成int型参与运算

强制类型转换:

强行将类型范围大的变量、数据赋值给类型范围小的变量

数据类型 变量 = (数据类型)变量、数据

int a = 20;
byte b = (byte)a;
System.out.println(b);//20
int i = 1500;
byte j = (byte)i;
System.out.println(j);//-36

注意:

  • 可能出现数据丢失

  • 小数强制转换成整数是直接截断小数保留整数

    猜随机数小游戏

三、程序流程控制

public class RandomDemo {
    public static void main(String[] args) {
        //随机一个幸运号码1~100之间   (0~99)+1
        Random r = new Random();
        int luckynumber = r.nextInt(99) + 1;
        //键盘输入
        Scanner sc =new Scanner(System.in);
        //使用一个死循环让用户不断的去猜测,并给出提示
        while (true){
            System.out.println("请输入你猜测的数字:");
            int guessnumber = sc.nextInt();

            //判断猜测的数据与随机数的大小
            if(guessnumber > luckynumber){
                System.out.println("过大");
            }else if(guessnumber < luckynumber){
                System.out.println("过小");
            }else {
                System.out.println("恭喜你猜对啦!答案就是:"+guessnumber);
                break;//跳出死循环
            }

        }
    }
}

冒泡排序

public class BubbLeSort {
    public static void main(String[] args) {
        int array [] = new int [4];//定义一个含有4个元素的数组
        System.out.println("请输入4个需要排序的数字!");
        Scanner sc = new Scanner(System.in);
        for (int i = 0; i < array.length; i++) {
            array [i] = sc.nextInt();//将需要排序的元素放入数组
        }
        //开始冒牌排序
        for (int i = 0; i < array.length; i++){
            for (int j = 0; j < array.length -1; j++){
                if(array[j] > array[j+1]){
                    int temp;
                    temp = array[j];
                    array [j] = array [j+1];
                    array [j+1] = temp;
                }
            }
        }
        for (int i = 0; i < array.length; i++) {
            System.out.print(array [i] + "\t");
        }
    }
}

数组常见问题

方法区:字节码文件加载时进入的内存

栈内存:方法运行时所进入的内存

堆内存:new出来的东西会在这块内存中开辟空间并产生地址

int[] array = new int[]{5,6,7};
System.out.println(array[2]);
//System.out.println(arr[3]);出现ArrayIndexOutOfBoundsException异常
array = null;
System.out.println(array);//null
//System.out.println(array.length),出现NullPointerException异常
Debug工具使用
  • IDEA自带的断点调试工具,可以控制代码从断点开始一行一行的执行,然后详细观察程序执行清空
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值