Java学习_Day 03(学习内容:狂神说JAVA零基础P17-P29)

P18 Hello world!

1 创建文件夹

2 新建一个java文件

主类和文件名要一致

public class hello {
    public static void main(String[] args){
        System.out.print("Hello,world!");
    }
}

java是大小写敏感的

3 编译

在项目文件根目录的DOS窗口编译.java文件生成字节码文件.class

javac hello.java

4 运行

java hello

在这里插入图片描述
文件名和类名必须保持一致,文件名和类名需首字母大写,这里我写的demo没有大写

P19 Java程序运行机制

java既是编译型也是解释型

编译型:一次编译,直接执行
解释型:边解释,边执行

源程序.java→Java编译器→字节码文件.class→类装载器→字节码校验器→解释器→操作系统平台

P20 IDEA安装

快捷键

PSVM直接输出main方法,sout直接print

IDEA优化

P21 基础语法(注释)

单行注释、多行注释、文档注释

1 配置IDEA项目结构

2 改变注释字体、颜色

3 单行注释和多行注释

//
/*
 */

4 文档注释

/**+回车

P22 标识符

在这里插入图片描述

  • Java所有组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
  • 标识符的命名规范,以字母、美元符、下划线开头进行命名
  • 关键字不能作为变量名和方法名
  • 标识符是大小写敏感

P23 数据类型

Java是强类型语言

  • 变量必须先定义后使用
  • 变量类型不可变
type varName = varValue;

数据类型分为基本类型和引用类型

基本类型

整数类型(byte、short、int、long)、浮点类型(float、double)、字符类型(char)、布尔类型(boolean)

  • float类型的value后面要加F;
  • long类型的value后面要加L;
    String不是关键字,它是一个类
    为了查看基本数据类型的范围,我们可以先输入一个包装类,然后定位查看其范围

引用数据类型

类、接口、数组

P24 数据类型扩展

进制
避免使用浮点数进行比较,因为浮点数是有限、离散的,四舍五入的
银行业务常用BigDecimal数学工具类来定义钱

public class P24 {
    public static void main(String[] args) {
        // 整数拓展 进制
        int i = 10;
        int i2 = 010;   // 八进制
        int i3 = 0x11;  // 十六进制
        System.out.println(i2);
        System.out.println(i3);
        // 浮点数拓展
        float a = 0.1f;
        double b = 1.0/10;
        System.out.println(a == b);

        float d1 = 123456786786767676f;
        float d2 = d1 + 1;
        System.out.println(d1 == d2);
        // 字符扩展
        char c1 = 'a';
        char c2 = '中';
        System.out.println(c1);
        System.out.println(c2);
        // 强制转换
        System.out.println((int)c1);
        System.out.println((int)c2);
        // 所有字符本质还是数字
        // 涉及一个编码问题 unicode 2字节 65536
        // U0000 - UFFFF
        char c3 = '\u0061';
        System.out.println(c3);
        // 转义字符 还有很多转义字符
        System.out.println("H\tJ");
        System.out.println("H\nJ");
        // 第一个比较的是地址,第二个比较的才是值
        String sa = new String("Hello");
        String sb = new String("Hello");
        System.out.println(sa == sb);

        String sc = new String("Hello");
        String sd = new String("Hello");
        System.out.println(sa == sb);
        // 布尔值扩展
        boolean flag = true;

        if (flag == true){ //菜鸟
            System.out.println("haha");
        }
        if (flag){ //老手
            System.out.println("haha");
        }
        // 代码要精简易读
    }
}

P25 类型转换

在这里插入图片描述

/*
在类型转化你的时候,要注意类型转化的优先级
强制类型转换(type)value 高到低
自动类型转换 低到高
 */
public class P25 {
    public static void main(String[] args) {
        // 强制转换
        int i = 128;
        byte b = (byte)i;
        System.out.println(i);
        System.out.println(b);
        // 发生内存溢出问题
        // 自动转换
        double c = i;

        /*
        注意点
        1. 不能对布尔型进行转换
        2. 不能把对象类型转换为不相干的类型
        3. 把高容量转换到低容量强制转换
        4. 转换的时候可能存在溢出或精度问题

         */
        System.out.println("==============");
        System.out.println((int)23.7);
        System.out.println((int)-45.89f);
        char g = 'a';
        int d = g + 1;
        System.out.println((char)d);

        /*
        操作比较大的数的时候,注意溢出问题
        jdk7数字之间可用下划线分割
         */
        int money = 10_0000_0000;
        int years = 20;
        // int total = money * years;
        // System.out.println(total);
        long total = money * years;
        long total2 = money * (long)years; // 先把一个数转换为long
        System.out.println(total2); // 计算的时候溢出了,转化的时候已经出现问题了
        
        //
    }
}

P26 变量、常量、作用域

public class P26 {
    /*
    Java是强类型语言,每个变量都必须声明其类型
    变量代表一块内存空间,我们只改变这内存空间的值
    Java变量是程序中最基本的存储单元,包括变量名、变量类型和作用域
    type varName = value
    可用逗号声明多个同类型变量(不建议)
    类型可为基本类型或引用类型
    变量名必须为合法标识符
    声明后以分号结束
     */
    // 实例变量,从属于对象,不初始化,会有默认值
    // 数值型默认为0,布尔值默认是false,字符串是null
    // 除了基本类型都是null
    String name;
    int age;
    // 类变量
    static double salary = 2500;
    // 常量,初始化后不可变,为作区分,一般使用大写字符
    // 修饰符不存在先后顺序
    static final double PI = 3.14;
    public static void main(String[] args) {
        // int a,b,c;
        int a = 1;
        int b = 1;
        int c = 1;
        String name = "Hu";
        char x = 'x';
        double pi = 3.14;

        //变量类型,引用类型
        P26 p26 = new P26();
        System.out.println(p26.age);
        System.out.println(p26.name);
        // 类变量 +static
        System.out.println(salary);
        // 常量
        System.out.println(PI);
    /*
    变量作用域:类变量、实例变量和局部变量
     */
    }
    // 其他方法,局部变量是在方法里的,使用之前必须声明和初始化值
    public void add(){
        // 只在add里有效
        int i = 10;
        System.out.println(i);
    }
}
/*
所有变量、方法和类名要见名知意
类成员变量 驼峰原则 第一个单词小写,后面的单词首字母大写 lastName
局部变量 首字母小写和驼峰原则
常量 大写字母+下划线
类名 首字母大写和驼峰原则 GoodMan Man
方法名 首字母小写和驼峰原则 goRun()
 */

P27 基本运算符

在这里插入图片描述

package operator;

public class P27 {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        long c = 15454141L;
        int d = 5;
        short e = 20;
        byte f = 8;
        // 有long为long,无long为int,有double为double
        System.out.println(c+d+e+f); //long
        System.out.println(d+e+f); // int
        System.out.println(e+f); //int

        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        // 要强制转换
        System.out.println(a/(double)b);
    }
}


package operator;

public class P27_1 {
    public static void main(String[] args) {
        // 关系运算符返回一个布尔型
        int a = 10;
        int b = 20;
        int c = 21;
        System.out.println(a == b);
        System.out.println(a > b);
        System.out.println(a < b);
        System.out.println(c % a);
    }
}

P28 自增自减运算符,Math类

public class P28 {
    public static void main(String[] args) {
        // ++ --  一元运算符
        int a = 3;
        // 先赋值再自增
        int b = a++;
        // a = a + 1
        System.out.println(a);
        // a = a + 1
        // 先自增再赋值
        int c = ++a;

        System.out.println(a);
        System.out.println(b);
        System.out.println(c);

        // 幂运算
        // 很多运算我们使用工具类
        double pow = Math.pow(2,3);
        System.out.println(pow);
    }
}

P29 逻辑运算符、位运算符

public class P29 {
    // 逻辑运算符
    public static void main(String[] args) {
        boolean a = true;
        boolean b = false;
        System.out.println("a || b:" + (a || b));
        System.out.println("a && b:" + (a && b));
        System.out.println("!(a && b):" + !(a && b));

        // 短路运算 a && b,b为假就不会再进行运算
        int c = 5;
        boolean d = (c<4) && (c++<6);
        System.out.println(c);
    }
}
public class P29_1 {
    public static void main(String[] args) {
        /*
        位运算
        A = 0011 1100
        B = 1010 1010
        A & B
        A | B
        异或
        A ^ B
        ~B
        <<左移为×2 >>右移为÷2
        效率极高
         */
        System.out.println(2<<3);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值