JavaSE01

Java基础语法

常用的DOS命令

#盘符切换 c:
#查看当前目录下的所有文件 dir
#同级目录下进入下一级目录 (change directory)cd Python
#跨盘符切换 cd /d e:\IDEA
#返回上一级目录 cd ..
#清理屏幕 cls(clear screen)
#退出终端 exit
#查看电脑的ip ipconfig
#打开应用
	calc计算器 
	mspaint画图 
	notepad记事本
#ping命令 
	ping www.baidu.com
#文件操作
	md  目录名	#创建目录
	rd  目录名	#删除目录
	cd> 文件名	#创建文件
	del 文件名	#删除文件

JDK、JRE、JVM

  • JDK:Java Development Kit
  • JRE:Java Runtime Environment
  • JVM:Java Virtual Machine

image-20240830154007887

Java程序运行机制

先编译再解释

image-20240830182442527

image-20240830192229107

注释

//单行注释:只能注释一行文字 //
//多行注释:可以注释一段文字 /*  注释  */
//JavaDoc:文档注释  /** */

标识符和关键字

  1. Java所有组成部分都需要名字。类名、变量名以及方法名都被称为标识符
  2. 所有标识符都应该以字母(A-Z或者a-z),美元符($)、或者下划线(_)开始
  3. 首字符之后可以是字母(A-Z或者a-z),美元符($)、下划线(_)或数字的任何字符组合
  4. 不能使用关键字作为变量名或方法名
  5. 标识符是大小写十分敏感的
  6. 可以使用中文命名,但是不建议这样

关键字

image-20240830225116362

数据类型

强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用

image-20240831182822842

数据类型拓展

public class Demo03 {
    public static void main(String[] args) {
        //===========================================================
        //整数拓展: 进制  二进制0b   十进制     八进制0    十六进制0x
        //===========================================================
        int i = 10;
        int i2 = 010;   //八进制0
        int i3 = 0x10;   //十六进制0x   0~9 A~F
        System.out.println(i);
        System.out.println(i2);
        System.out.println(i3);
        System.out.println("========================================================");

        //===========================================================
        //浮点数拓展    银行业务怎么表示钱?
        //BigDecimal    数学工具类
        //===========================================================
        //float double  浮点数表示的字长:有限  离散  舍入误差  大约  接近但不等于
        //最好完全避免使用浮点数进行比较
        float f = 0.1f;     //0.1
        double d = 1.0/10;  //0.1
        System.out.println(f==d);   //false

        float d1 = 21323131231223f;
        float d2 = d1 + 1;
        System.out.println(d1==d2); //true
        System.out.println("========================================================");

        //===========================================================
        //字符拓展
        //===========================================================
        char c1 = 'A';
        char c2 = '中';

        System.out.println(c1);
        System.out.println((int)c1);    //强制转换
        System.out.println(c2);
        System.out.println((int)c2);    //强制转换

        //所有的字符本质还是数字
        //编码 Unicode表:(97 = a 65 = A)   2字节  0 - 65535  Excel最大行就是 2^16 = 65536
        //U0000 - UFFFF
        char c3 = '\u0061';
        System.out.println(c3); //a

        //转义字符
        // \t   制表符
        // \n   换行
        System.out.println("Hello\nWorld");
        System.out.println("========================================================");

        //对象 从内存分析
        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);

        //===========================================================
        //布尔值拓展
        //===========================================================
        boolean flag = true;
        if (flag==true){} //新手
        if (flag){} //老手
        //Less is More!  代码要精简易读
    }
}

类型转换

由于Java是强类型语言,所以要进行有些计算的时候,需要用到类型转换

image-20240901173009403

public class Demo04 {
    public static void main(String[] args) {
        int i = 128;

        //强制转换:(类型)变量名  高-->低
        //自动转换:直接转  低-->高
        System.out.println(i);
        System.out.println((double) i);

        /*
        注意点:
        1.不能对布尔值进行转换
        2.不能把对象类型转换为不相干的类型
        3.将高容量转换到低容量的时候,强制转换
        4.转换的时候可能存在内存溢出或者精度问题!
         */
        System.out.println("=================================");
        System.out.println((int)23.7);  //23
        System.out.println((int)-45.89f);   //-45

        System.out.println("=================================");
        char c = 'a';
        int d = c + 1;
        System.out.println(d);
        System.out.println((char)d);

        //操作比较大的数的时候,注意溢出问题
        //JDK7新特性,数字之间可以用下划线分割
        int money = 10_0000_0000;
        int years = 20;
        int total = money*years;    //-1474836480,计算的时候溢出了
        long total2 = money*years;  //-1474836480,默认是int,转换之前已经存在问题了

        long total3 = money*((long)years);  //先把一个数转换为long
        //long
        System.out.println(total3);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值