Learning Java Day02

Dos命令

打开CMD的方式

  1. 开始+系统+命令提示符

  2. Win键+R 输入CMD打开控制台(推荐使用)

  3. 在桌面的任意位置,按住Shift键+右键点击,在此处打开power shell

  4. 资源管理器的地址栏前面加上 cmd空格

管理员身份运行:方法1)右键选择以管理员身份运行

常用的Dos命令

注意不能在CMD中使用Ctrl+C/D,粘贴是右键

#盘符切换 所需的盘名加冒号 eg: D:(注意切英文输入法)  
#查看当前目录下的所有文件 dir
#切换目录 cd(change dirctory)
    假设从C盘切到D盘
        cd /c(当前) D:(目标路径eg D:...) 
    返回上一级 cd..
    进入目标文件 cd 目标路径
#清理屏幕 cls(clear screen)
#退出终端 exit
#查看电脑的IP ipconfig
#打开应用工具,输入名称
    (eg calc计算器 notepad记事本 mspaint画图)
#ping 命令 --得到网站的IP地址
    eg: ping www.baidu.com
#文件操作(注意和cd的配合使用)
    md 目录名(创建目录)
    rd 目录名(删除目录)
    cd> 文件名(创建文件)
    del 文件名(删除文件)

Java 帝国

杂项

三高问题

高可用、高性能、高并发

特点

Write Once Run Anywhere

三大版本

JavaSE:标准版(桌面程序、控制台开发)

JavaME:嵌入式开发(手机、小家电)

JavaEE:E企业级开发(WEB端、服务器开发)

JDK

Java开发者工具,包括JRE、JVM

JRE

Java运行时环境,包含JVM

JVM

Java虚拟机

环境配置

卸载JDK

  1. 删除Java的安装目录

  2. 删除JAVA_HOME(环境变量)

  3. 删除PATH下关于Java的路径

  4. 通过CMD下的java_version查看是否卸载成功

安装JDK

  1. 百度搜索JDK8,找到下载地址

  2. 同意协议

  3. 下载到电脑的对应版本

  4. 双击安装JDK

  5. 记住安装的路径

  6. 配置环境变量

    1. 我的电脑->右键->属性

    2. 环境变量->JAVA_HOME

    3. 配置path变量

  7. 测试JDK是否安装成功

    1. 打开cmd

    2. java_version

Java安装目录

  • bin目录--内含可执行程序

  • include目录--存放C/C++的头文件

  • jre目录--Java运行环境

  • lib目录--Java的类库文件

  • src.zip--存放资源文件,Java类源代码

Hello world !

  1. 随便新建一个文件夹,存放代码

  2. 新建一个Java文件

    • 文件后缀名为.java

    • Hello.java

    • [注意点]系统可能没有显示文件后缀名,我们需要手动打开

  3. 编写代码

public class Hello { //类+名字
    public static void main (String[] args){ 
        //修饰符关键字+main(方法)--主方法(参数)
        System.out.print("Hello World !");
    }
}

  1. 编译javac java文件,会生成一个class文件

  2. 运行class文件,java class文件

可能会遇到的情况

  1. 每个单词的大小写不能出现问题,Java是大小写敏感的

  2. 尽量使用英文,即使是字符串有些系统也会报错

  3. 文件名类名必须保持一致,并且首字母大写

  4. 符号使用英文的

Java的基础语法

注释

//单行注释
        /*
        多行注释
        多行注释
         */
        //JavaDoc: 文档注释 /** */
        /**
         * @Description HelloWorld
         * @Author Harry_king
         */

标识符

public class/*类名*/ HelloWorld {
    public static void main/*方法名*/(String[] args) {
        String king /*变量名*/= "Harry";
        System.out.println("Hello World !");
    }
}
  • 标识符只能以字母、 _下划线或者$美元符号开头

  • 首字母之后可以是字母、数字、下划线、美元符号的任

  • 组合Java的标识符是大小写敏感的

  • 可以变量名用中文命名,类名亦可以但是不建议(不规范)

数据类型

Java属于一门强类型(定义)语言

  • 要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用->安全性高、也导致速度降低

基本数据类型

  • 数值

    • 整数类型

      • byte(1)-128~127

      • short(2)-32768~32767

      • int(4) 10位

      • long(8) 19位

    • 浮点类型

      • float(4)

      • double(8)

    • 字符类型

      • char(2)

  • boolean类型:占1位(其他的单位都是字节 )

    其值只有true和false两个

public class HelloWorld {
    public static void main (String[] args) {
        //八大基本数据类型
        
        //整数
        /*范围--Ctrl点击查看
        Integer
        Byte*/
        int num1 = 10; //最常用
        byte num2 = 20;
        short num3 = 30;
        long num4 = 40L; 
        //Long类型要在数字后面加个L
        
        //小数:浮点数
        float num5 = 50.0F; 
        //Float类型要在数字后面加个F
        double num6 = 3.14;
       
        //字符
        char name = 'A';
        char country = '中';
       
        //字符串
        String name_ = "Harryking";
       
        //布尔值:是非
        boolean flag = true;
        boolean book = false;
    }
}

引用数据类型

reference type

接口

数组

字节

  • 位(bit):计算机内部数据储存的最小单位, b

  • 字节(byte):计算机中数据处理的基本单位,B

  • 字符:计算机中使用的数字、字母、字和符号

换算关系

  • 1B = 8b

  • 1KB = 1024B

  • **之后的M、G、TB...都是按1024进位

32位和64位操作系统的差别

  • 主要是寻址能力的差别

  • 64位对32位兼容

  • 32--4G;64--128G

拓展

整数拓展

public class HelloWorld {
    public static void main (String[] args) {
        //整数拓展:进制
        int i = 0b10;//二进制0b
        int i2 = 10;//十进制
        int i3 = 010;//八进制0
        int i4 = 0x10;//十六进制0x
        
        System.out.println(i);//2
        System.out.println(i2);//10
        System.out.println(i3);//8
        System.out.println(i4);//16
    }
}

浮点数拓展

public class HelloWorld {
    public static void main (String[] args) {
        //浮点数拓展:银行业务
        //浮点数特点--有限位数、离散、存在舍入误差、大约、接近但不等于
        /*
        最好避免完全使用浮点数进行比较·importance
         */
        //1
        float f = 0.1f;
        double d = 1.0 / 10;
        System.out.println(f == d);// false
        //2
        float f1 = 2323232323f;
        float f2 = f1 + 1;
        System.out.println(f1 == f2);// true
        //综合以上
        //银行业务使用--数学工具类BigDecimal
    }
}

字符类拓展

public class HelloWorld {
    public static void main (String[] args) {
       //字符拓展:所有字符的本质还是数字
        char c1 = 'A';
        char c2 = '中';
        System.out.println(c1);     //A
        System.out.println((int)c1);//65
        //(强制类型转换)
        System.out.println(c2);     //中
        System.out.println((int)c2);//20013
        //编码 Unicode 表:(97 = a,65 = A) 
        //能表示0 ~ 65536+(2^16+) U0000 ~ UFFFF
        char c3 = '\u0061';
        System.out.println(c3);
        //转义字符
        System.out.println("Hello\tworld");
        // \t制表符
        System.out.println("Hello\nworld");
        // \n换行符
    }
}

彩蛋

public class HelloWorld {
    public static void main (String[] args) {
        //彩蛋 -- 有关于对象和内存分析
        String sa = new String("Hello World");
        String sb = new String("Hello World");
        System.out.println(sa == sb);
        
        String sc = "Hello World";
        String sd = "Hello World";
        System.out.println(sc == sd);
    }
}

布尔值拓展

public class HelloWorld {
    public static void main (String[] args) {
        //布尔值拓展
        boolean flag = true;
        if (flag == true) {} //新手
        if (flag) {}         //老手
        //Less is More! 代码要精简易读
    }
}

类型转换

优先级:

(低) byte,short,char -> int -> long -> float -> double (高)

浮点数的优先级均大于整数

public class HelloWorld {
    public static void main (String[] args) {
        int i = 128;
        byte b = (byte)i;
        double d = i;
        //高-->低 强制类型转换 (类型)变量名
        //低-->高 自动类型转换
        System.out.println(i);
        System.out.println(b);//-128内存溢出
        System.out.println(d);
        //精度问题
        System.out.println((int)23.7);   //23
        System.out.println((int)-45.89f);//-45
        char c = 'a';
        int d = c + 1;
        System.out.println(d);
        System.out.println((char)d);
    }
}

注意点

  • 不能对布尔值进行转换

  • 不能把对象类型转换为完全不相干的类型

  • 在把高容量转换到低容量的时候,强制转换

  • 转换的时候可能存在内存溢出,或者是精度问题!

public class HelloWorld {
    public static void main (String[] args) {
        //操作比较大数的时候。注意溢出问题
        //JDK7新特性,数字之间可以用下划线分割
        int money = 10_0000_0000;
        System.out.println(money);
        int year = 20;
        int total = money * year;
        //-1474836480计算的时候溢出了
        System.out.println(total);
        long total2 = money *year;
        //默认是int,转换之前已经存在问题了
        System.out.println(total2);
        long total3 = (long)money * year;
        //先把一个数转换为long
        System.out.println(total3);
        //long数后的L尽量大写,养成好习惯,避免错误
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Harry_zlh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值