Study08(从小白到大佬)

基础语法

注释

//单行注释

/*多行注释

​ 多行注释*/

//JavaDoc:文档注释
/**
*每一行都有个星号,星号有功能,可以加参数,会被识别(见识一下样子就好,除非进大公司不然很少遇到)
*/

关键字和标识符

在这里插入图片描述
在这里插入图片描述
更新:【强制】代码中的命名均不能以**下划线或美元符号开始,也不能以下划线或美元符号**结束。


数据类型讲解

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2013年以前用的电脑的系统基本上都是windows xp,而大部分的xp系统都是32位的,自从windows 7推出后,64位正式出现在人们面前,从这时候开始渐渐很多人都在尝试使用64位的系统。那么,对普通的电脑使用者来说,这32位和64位到底有什么区别呢?

Cpu想到于电脑的“大脑”,根据cpu就一次处理数据的能力,把处理器分为了32位和64位,甚至很久以前还有8位和16位的,后来被淘汰了。如果你的电脑cpu是32位的,那么就只能装32位的系统;要是你的电脑cpu是64位的,那么既可以装64位的也可以装32位的操作系统,只不过装32位的对于电脑来说有点浪费。64位毕竟是升级了的,所以加了很多新的功能和技术,比32位明显提升了一个阶次。

32位操作系统可以寻址2的32次方个字节的内存范围,64位操作系统则可寻址2的64次方个字节的内存范围。换句话说,32位的操作系统理论上只能使用约4GB的内存,要是程序想使用超过4GB的内存,那么就要选择64位的操作系统。显然,64位比32的内存容量要大很多,内存容量的大小对运算速度有一定的影响,因而64位的运算速度理论上来说比32位快。不是说任何内存的电脑使用64位,它的运算速度就一定比32位的快,比如你的电脑是2GB的,那么反而使用32位的会流畅很多。

64位的操作系统刚出来的时候,兼容性比较差,因为当时很多的软件是依据32位写的,才导致在64位上不能运行。这是软件没跟上系统的脚步,才使得当时很多人不喜欢用64位的操作系统。随着64位的发展,经过一次又一次改良后,它的兼容性好了很多,大部分32位的软件都可以在64位的操作系统下正确运行了。若是专门为64位系统而开发的软件,还经过了特别的优化,在64位操作系统上会运行得更快。如今,64位还在不断的改善之中,当它能够兼容所有32位的软件时,估计32位就慢慢隐退了吧。

这样看来,64位比32位的在性能上强了不少,这是它的优势所在。若非要说64位的缺点,那就是它的功能强大了以至于也比较占内存吧。据一项64位和32位内存占用的比较实验表明,它们在内存占用的差异不超过9.9%,甚至在一些特殊的情况下,64位占用的内存还比32位更少!所以,用不着特意为了64位操作系统去升级内存。总之,64位操作系统已然成为了主流,只要是配置稍微好一点的电脑,都建议装64位的,用起来会更流畅。


数据类型拓展及面试题讲解

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

        //浮点数拓展         银行业务如何表示?钱->用BigDecimal数学工具类
        //float     有限  离散  舍入误差    大约  接近但不等于
        //double
        //最好完全避免使用浮点数进行运算!!!
        float f=0.1f;
        double d=0.1/10;
        System.out.println(f==d);       //false

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

        //字符串拓展
        char c1='a';
        char c2='中';
        System.out.println(c1);         //a
        System.out.println((int)c1);    //97
        System.out.println(c2);         //中
        System.out.println((int)c2);    //20013

        //所有的字符本质还是数字
        //编码  Unicode   占2字节    最多表示65536个字符(现在不止)
        //Unicode编码的表示方式:U0000~UFFFF
        char c3='\u0061';
        System.out.println(c3);          //a
        System.out.println("===================================================");

        //疑问
        String sa=new String ("Hello World");
        String sb=new String ("Hello World");
        System.out.println(sa==sb);     //false
                            //从内存分析
        String sc="Hello World";
        String sd="Hello World";
        System.out.println(sc==sd);     //true

    }
}



类型转换

在这里插入图片描述

强制转换:(类型)变量名 高->低
自动转换: 同级转换 低->高

public class Demo06 {
    public static void main(String[] args) {
        //操作比较大的数的时候,注意溢出问题
        //JDK7新特性,数字之间可以用下划线分割
        //区分long和int时,尽量用大写L结尾
        int money=10_0000_0000;
        int years=20;
        int total=money*years;
        System.out.println(total);//-1474836480

        long total3=money*((long)years);//先把一个数转换为long
        System.out.println(total3);//20000000000
        
        
        long a=12324124124;
        int b=123;
        short c=10;
        byte d=8;
        System.out.println(a+b+c+d);//结果为long型
        System.out.println(b+c+d);	//结果为int型
        System.out.println(c+d);	//结果为int型
    }
}

变量,常量,作用域

在这里插入图片描述


在这里插入图片描述

public class Demo08 {

        //**类变量**   static
        static double salary=2500;//int->double自行转换类型

        //属性:变量

        //**实例变量**:从属于对象;如果不自行初始化,这个类型的默认值 0 0.0
        //布尔值:默认值是false
        //除了基本类型,其余的默认值都是null
        String name;
        int age;

        //main方法
        public static void main(String[] args) {
            //**局部变量**:必须声明和初始化值
            int i=10;
            System.out.println(i);              //10

            //变量类型 变量名字 = new Demo08();
            Demo08 demo08 = new Demo08();
            System.out.println(demo08.age);     //0
            System.out.println(demo08.name);    //null

            //类变量  static
            System.out.println(salary);         //2500.0
         }


		//其它方法
        public void add(){

        }
}


在这里插入图片描述

public class Demo09 {

        //变量类型(double)前面都是修饰符,不存在先后顺序
        static final double PI=3.14;

    public static void main(String[] args) {
        System.out.println(PI);
    }
}

在这里插入图片描述


基本运算符

在这里插入图片描述

位运算符

package operator;

public class Demo06 {
    public static void main(String[] args) {
        /*
        A=0011 1100
        B=0000 1101
        位运算:
        A&B=0000 1100   //上下两个都是1,才为1
        A|B=0011 1101   //上下两个都是0,才为0
        A^B=0011 0011   //上下两个相同,则为0(异或运算)
         ~B=1111 0010   //取反

         面试题:
         2*8怎样运算最快?在位运算里会变的非常快

         <<左移       左移一位  *2        效率极高
         >>右移       右移一位  /2		//了解<<< >>>
         0000 0000      0
         0000 0001      1
         0000 0010      2
         0000 0011      3
         0000 0100      4
         0000 1000      8
         0001 0000      16
         */

        System.out.println(2<<3);   //16
    }
}

逻辑运算符

与 或 非

短路运算

int c=5;
boolean d = (c<4)&&(c++<4);
System.out.println(d);		//false
System.out.println(c);		//5
//(c<4)为错误后,不对(c++<4)进行判断,故不执行c++		!!!

字符串连接符

+ , String	会把其他操作数变成String再连接
int a=10;
int b=20;
System.out.println(""+a+b);		//1020
System.out.println(a+b+"");		//30


初识Math类

double a = Math.pow(3,2);
//Math.就可以出现数学函数的各种方法。

包机制

在这里插入图片描述

先在设置把Compact Middle Packages去勾

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


import com.hao.base. //导入这个包下所有的类!* //alt+enter,导入的快捷键

在这里插入图片描述


JavaDoc生成文档

在这里插入图片描述

package com.hao.base;

/**
 * @author hao		//掌握
 * @version 1.0		//掌握
 * @since  1.8
 */
//加在类上面就是类的注释
public class Doc {
    String name;

    /**
     * @author  hao
     * @param name
     * @return
     *
     */
//加在方法的上面就是方法的注释
    public String test(String name) throws Exception{
        return name;
    }
}


命令行生成

具体步骤:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

javadoc -encoding UTF-8 -charset UTF-8 Doc.java
参数(-encoding UTF-8 -charset UTF-8)是为了多显示中文,出了乱码问题容易解决

在这里插入图片描述

最后打开index.html即可

IDEA生成

TOOLS->Generate JavaDoc

学自B站UP狂神,视频链接https://www.bilibili.com/read/cv5702420

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值