Java基础与拓展

JAVA基础与拓展

注释

不写注释的人不配拥有母亲。

——不愿透露姓名的李姓前端

单行注释

//这是一行注释
//这是一行注释
//这是一行注释

IDEA快捷键:Ctrl+/

 

多行注释

/*这是一行注释
这是一行注释
这是一行注释
这是一行注释
 */

 

文档注释

/**
 * @deprecated hello,word!
 * @author Mr.Crow
 */

 

有趣的代码注释

/***
 *               ii.                                         ;9ABH,          
 *              SA391,                                    .r9GG35&G          
 *              &#ii13Gh;                               i3X31i;:,rB1         
 *              iMs,:,i5895,                         .5G91:,:;:s1:8A         
 *               33::::,,;5G5,                     ,58Si,,:::,sHX;iH1        
 *                Sr.,:;rs13BBX35hh11511h5Shhh5S3GAXS:.,,::,,1AG3i,GG        
 *                .G51S511sr;;iiiishS8G89Shsrrsh59S;.,,,,,..5A85Si,h8        
 *               :SB9s:,............................,,,.,,,SASh53h,1G.       
 *            .r18S;..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,....,,.1H315199,rX,       
 *          ;S89s,..,,,,,,,,,,,,,,,,,,,,,,,....,,.......,,,;r1ShS8,;Xi       
 *        i55s:.........,,,,,,,,,,,,,,,,.,,,......,.....,,....r9&5.:X1       
 *       59;.....,.     .,,,,,,,,,,,...        .............,..:1;.:&s       
 *      s8,..;53S5S3s.   .,,,,,,,.,..      i15S5h1:.........,,,..,,:99       
 *      93.:39s:rSGB@A;  ..,,,,.....    .SG3hhh9G&BGi..,,,,,,,,,,,,.,83      
 *      G5.G8  9#@@@@@X. .,,,,,,.....  iA9,.S&B###@@Mr...,,,,,,,,..,.;Xh     
 *      Gs.X8 S@@@@@@@B:..,,,,,,,,,,. rA1 ,A@@@@@@@@@H:........,,,,,,.iX:    
 *     ;9. ,8A#@@@@@@#5,.,,,,,,,,,... 9A. 8@@@@@@@@@@M;    ....,,,,,,,,S8    
 *     X3    iS8XAHH8s.,,,,,,,,,,...,..58hH@@@@@@@@@Hs       ...,,,,,,,:Gs   
 *    r8,        ,,,...,,,,,,,,,,.....  ,h8XABMMHX3r.          .,,,,,,,.rX:  
 *   :9, .    .:,..,:;;;::,.,,,,,..          .,,.               ..,,,,,,.59  
 *  .Si      ,:.i8HBMMMMMB&5,....                    .            .,,,,,.sMr
 *  SS       :: h@@@@@@@@@@#; .                     ...  .         ..,,,,iM5
 *  91  .    ;:.,1&@@@@@@MXs.                            .          .,,:,:&S
 *  hS ....  .:;,,,i3MMS1;..,..... .  .     ...                     ..,:,.99
 *  ,8; ..... .,:,..,8Ms:;,,,...                                     .,::.83
 *   s&: ....  .sS553B@@HX3s;,.    .,;13h.                            .:::&1
 *    SXr  .  ...;s3G99XA&X88Shss11155hi.                             ,;:h&,
 *     iH8:  . ..   ,;iiii;,::,,,,,.                                 .;irHA  
 *      ,8X5;   .     .......                                       ,;iihS8Gi
 *         1831,                                                 .,;irrrrrs&@
 *           ;5A8r.                                            .:;iiiiirrss1H
 *             :X@H3s.......                                .,:;iii;iiiiirsrh
 *              r#h:;,...,,.. .,,:;;;;;:::,...              .:;;;;;;iiiirrss1
 *             ,M8 ..,....,.....,,::::::,,...         .     .,;;;iiiiiirss11h
 *             8B;.,,,,,,,.,.....          .           ..   .:;;;;iirrsss111h
 *            i@5,:::,,,,,,,,.... .                   . .:::;;;;;irrrss111111
 *            9Bi,:,,,,......                        ..r91;;;;;iirrsss1ss1111
 */

 

标识符&数据类型

Java中所有的组成部分都需要名字,包括类名、变量名、方法名,这些都被称为标识符。一些已经被Java定义的保留标识符称之为关键字,关键字不能用做标识符使用。

标识符

所有的标识符都应该以字母“A-Z或者a-z”,美元符“$'',或者下划线"_"开始。

首字符之后可以是字母“A-Z或者a-z”,美元符“$'',或者下划线"_"或数字的任何字符组合。

可以使用中文,但为了代码良好的可读性,不建议这样使用,也不建议使用拼音。

 

数据类型

JAVA是一门强类型语言,

所有的变量使用要严格符合规定,必须先声明(定义)才能使用。

 

JAVA的数据类型分为两大类,基本类型和引用类型,基本类型又细分为“四类八种”。

除开“四类八种”其他的都是对象,也就是引用类型,包括类、接口和数组。

  • 基本类型

基本类型

 

数据类型关键字

  • String

    声明一个字符串变量。

    String中的每一个char占2个字节

    注意:在JAVA中string不是一个关键字。

    它是一个类所以string应该写作String,这一点请跟其他语言区分


public class Demo1 {
    public static void main(String[] args) {
        //整数类型
        int num1 = 10;
        byte num2 = 20;
        short num3 = 30;
        long num4 = 40L;
        //long变量的值后面加一个大写的L用作区分。
​
        //浮点类型(小数)
        float num5 = 50.123F;
        //float变量的值后面加一个大写的F用作区分。
        double num6 = 3.141592653;
​
        //字符类型
        char gender = '男';
        String name = "乌鸦の学习";
        //String是一个类!不是关键字!
​
        //布尔类型
        boolean flag = true;
    }
}
  • char

    声明一个单个字符变量。

    一个char,2个字节。

  • int

    声明一个整型变量。

    4个字节,范围:-2147483648至2147483647。

  • boolean

    声明一个布尔类型变量。

    1个字节,其值只有true和false两个,在计算机中表现为0和1

  • byte

    声明一个字节变量。

    1个字节,范围:-128至127

  • short

    声明一个短整型变量。

    2个字节,范围:-32768至32767

  • long

    声明一个长整形变量。

    8个字节,范围:-9223372036854775808至9223372036854775807

    有点长,写错了别打我

  • float

    声明一个单精度浮点类型变量。

    4个字节

  • double

    声明一个双精度浮点类型变量。

 

数据类型知识拓展

整型拓展

public class Demo2 {
    public static void main(String[] args) {
        int num1 = 10;      //十进制
        int num2 = 0b10;      //二进制在值前加0b表示
        int num3 = 010;      //八进制在值前加0表示
        int num4 = 0x10;     //十六进制在值前加0x表示
​
        System.out.println(num1);
        //打印结果为10
        System.out.println(num2);
        //打印结果为2
        System.out.println(num3);
        //打印结果为8
        System.out.println(num4);
        //打印结果为16
    }
}

 

进制:

  • 二进制

    在值前加0b表示。

  • 八进制

    八进制在值前加0表示。

  • 十六进制

    十六进制在值前加0x表示。

 

浮点类型拓展

public class Demo3 {
    public static void main(String[] args) {
        float num1 = 0.1f;
        double num2 = 0.1;
        System.out.println(num1 == num2);
        //结果返回false
​
        float num3 = 8880000000.8888f;
        float num4 = num3 + 1;
        System.out.println(num3 == num4);
        //结果返回true
    }
}

 

浮点类型的特性:

  • 名词解释

    浮点类型,点即小数点,浮点即小数点会浮动,即浮点数都是大约,接近但不等于。

  • 特性:

    • 有限性

      小数是无限的,但是浮点类型是有限的。

    • 离散性

      在其范围内无法表示。

    • 舍入误差

      简单理解即为了表示这个数而四舍五入产生的误差。

  • 金融类业务:

    如果必须进行比较的情况,如金融类业务比较余额的时候使用BigDecimal即数学工具类。

  • 强调:

    • 综上所述。

    • 请完全避免使用浮点类型的变量进行比较!

    • 请完全避免使用浮点类型的变量进行比较!

    • 请完全避免使用浮点类型的变量进行比较!

 

字符类型拓展

public class Demo4 {
    public static void main(String[] args) {
        char c1 = 'a';
        char c2 = '男';
​
        System.out.println(c1);
        //打印结果为 a
        System.out.println(c2);
        //打印结果为 男
        System.out.println((int) c1);        //强制类型转换
        //打印结果为97
        System.out.println((int) c2);        //强制类型转换
        //打印结果为30007
        System.out.println(c1 == 97);
        //结果返回true
        System.out.println(c2 == 30007);
        //结果返回true
​
        char c3 = '\u0061';
        //61为97的十六进制
        System.out.println(c3);
        //打印结果为 a
        char c4 = '\u7537';
        //7537为30007的十六进制表示
        System.out.println(c4);
        //打印结果为 男
    }
}
​

 

所有的字符在计算机中本质还是数字。

计算机通过编码表进行字符与数字之间的编解码。

  • 编码表

    即Unicode表,在计算机中范围表示为u0000至uFFFF,即65535。

    当字符传入计算机中时,计算机通过Unicode表将用对应的16进制数字来表示。

  • 字符类型的特性

    • 字符类型可以转换为整数类型来表示,默认为10进制。

    • 字符类型可以与整数类型向比较,如与Unicode表相等则结果为ture。

    • 通过 \u 转义符可以通过16进制0000至FFFF来输出字符。

 

转义字符

即通过斜杠 \ 将之后的字符转义。

 

该表格引用至https://www.cnblogs.com/DreamDrive/p/4676534.html

博主:SummerChillCoder

转义字符 意义 ASCII码值(十进制)
\a 响铃(BEL) 007
\b 退格(BS) ,将当前位置移到前一列 008
\f 换页(FF),将当前位置移到下页开头 012
\n 换行(LF) ,将当前位置移到下一行开头 010
\r 回车(CR) ,将当前位置移到本行开头 013
\t 水平制表(HT) (跳到下一个TAB位置) 009
\v 垂直制表(VT) 011
\ 代表一个反斜线字符''' 092
' 代表一个单引号(撇号)字符 039
" 代表一个双引号字符 034
\0 空字符(NULL) 000
\ddd 1到3位八进制数所代表的任意字符 三位八进制
\xhh 1到2位十六进制所代表的任意字符 二位十六进制
posted @   乌鸦の学习  阅读(83)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示