学习Java day01 感谢狂神老师

Java 入门

Java简介

JVA

  • Jvm(Java Virtual Machine),Java虚拟机
  • Jvm是Java平台无关性实现的关键

JDK

  • JDK(Java Development kit),Java语言的软件开发工具包
  • 两个重要组件:
    1. Java-编译器,将原程序转成字节码
    2. java-运行编译后的Java程序(.class后辍)

JRE

  • JRE(Java Runtime Environment)
  • 包括Java虚拟机(JVM)丶Java核心类库和支持文件
  • 如果只需要运行Java程序下载并安装JRE
  • 如果需要开发Java软件,需要下载JDK
  • 在JDK中附带JRE

JDK·JRE和JVM三者关系

在这里插入图片描述

JAVA平台
在这里插入图片描述

Java程序结构

public class HelloImooc{
    public static void main (String[] args){
        System.out.println("Hello,Imooc!");
    }
}

JDK安装和环境搭建

  • windows版下载

    下载链接https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

  • 安装

    1. 双击安装JDK
    2. 记住安装的路径
  • 配置环境变量

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

    2.环境变量–>JAVA_HOME

    3.配置path变量

  • 测试JDK是否安装成功

    1.打开CMD

    2.java -version

Java基础

01Java注释

  • 平时我们编代码,在代码量比较少的时候,我们还可以看懂自己写的,但是当项目结构一旦复杂起来,我们就需要用到注释了。

  • 注释并不会被执行,是给我们写代码的人看的。

  • 书写注释是一个非常好的习惯。

  • JAVA中的注释有人三种:

​ 1.单行注释

//单行注释
//单行注释

​ 2.多行注释

/*多行注释
  多行注释
  多行注释      
         */

​ 3.文档注释

  /**
         * 
         */

02java标识符

  • 关键字

在这里插入图片描述

  • JAVA所有的组成部分都需要名字。类名丶变量名以及方法名都被称为标识符

  • 标识符注意点

    • 所有的标识符都应该以字母(A-Z或者a-z)丶美元符($)丶或者下划线(_)开始
    • 首字符之后可以是字母(A-Z或者a-z)丶美元符($)丶或者下划线(_)或数字的任何字符组合
    • 不能使用关键字作为变量名或方法名
    • 标识符是大小写敏感的
    • 合法标识符举例:age丶$salary丶_value丶__1_value
    • 非法标识符举例:123abc丶-salary丶#abc
    public class Hello {
        public static void main(String[] args) {
          String 王者荣耀="最强王者"
               System.out.println("王者荣耀");
        }
    }
    
    • 可以使用中文命名,但是一般不建议这样去使用,也不建议使用拼音,很low

03JAVA数据类型

  • 强类型语言

    • 要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
    • 弱类型语言
  • JAVA的数据类型分两大类

    • 基本类型(primitive type)
    • 引用类型(reference type)

在这里插入图片描述

public class Hello {
    public static void main(String[] args) {
        //八大基本类型
        
        //整数
        int num=10//最常用
        byte num1=20short num3=30long num3=30L//Long类型要在数字后面加个L
            
        //小数:浮点数
        float num5=50.1F; //float类型要在数字后面加个L
        double num6=3.141545;
        
        //字符
        char name='国'
        //字符串,String不是关键字,类
        //string name="哈哈";
            
        //布尔值
        boolean flag=trueboolean flag=false}
}

04数据类型扩展及面试题讲解

public class day01 {
    public static void main(String[] args) {
        //整理扩展  二进制:0B   八进制:0    十进制   十六进制:0x
        int i=10;
        int i2=010;   //八进制
        int i3=0x10;  //十六进制  0-9 a-f  16
        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=252422122f;
        float  d2=d1+1;
        System.out.println(d1==d2);


        //================================
        //字符扩展
        //================================


        char c1='中';
        char c2='国';

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

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


        //所有的字符本质就是数字
        //编码unicode 表:2字节    0-65536  Excel   2 16=65536

        //u0000 uFFFF

        char c3='\u0062';
        System.out.println(c3);

        //转移字符
        //  \b  退格(BS) ,将当前位置移到前一列
        //  \f  换页(FF),将当前位置移到下页开头
        //  \n  换行(LF) ,将当前位置移到下一行开头
        //  \r  回车(CR) ,将当前位置移到本行开头
        //  \t  水平制表(HT) (跳到下一个TAB位置)
        //  \v  垂直制表(VT)
        //  \\  代表一个反斜线字符''\'
        //  \'  代表一个单引号(撇号)字符
        //  \"  代表一个双引号字符
        //  \0  空字符(NULL)
        //  \ddd  1到3位八进制数所代表的任意字符
        
        System.out.println("Hello\tworld");
        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! 代码要精简易读


    }
}

05类型转换

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

​ 低------------------------------------------->高

​ byte,short,char–>int–>long–>float–>double

  • 运算中,不通类型的数据先转换为同一类型,然后进行运算。

  • 强制类型转换

  • 自动类型转换

public class Demo02 {
    public static void main(String[] args) {
        int i=128;
        byte i1=(byte)i;  //内存溢出

        //强制转换  (类型)变量名  高--低
        //自动转换   低--高

        System.out.println(i);
        System.out.println(i1);

        /*
        *注意点
        * 1.不能对布尔性进行转换
        * 2.不能把对象类型转换成不相干的类型
        * 3.把高容量转换成低容量的时候,强制转换
        * 4.转换的时候可能出现内存溢出,或者精度问题!
        * */
        System.out.println("=======================================");
        System.out.println((int)127.1);
        System.out.println((int)-12.12f);


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


    }
}
   public static void main(String[] args) {
         //操作比大的数的时候,注意溢出问题
         // JDK7新特性,数字之间可以用下划线分割
        int money=10_0000_0000;
        int years=20;
        int tota1=money*years; //-1474836480,计算式溢出
        long tota2=money*years;//默认是int,转换之前已经出问题了。

        long tota3=money*((long)years);  //先把一个数转换成long
        System.out.println(tota3);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值