JAVA入门——一

Posted Mr.yzWang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA入门——一相关的知识,希望对你有一定的参考价值。

1.注释

  • 注释不会被执行,是给我们写代码的人看的
  • 书写注释是一个非常好的习惯
    java中的注释有三种:

1.1单行注释

用//表示
例:

package 注释;
public class HelloWorld {
    public static void main(String[] args) {
        //单行注释:只能注释一行文字
        //输出Hello World!
        System.out.println("Hello World!");
    }
}

1.2多行注释

1.2.1第一种方式

用/* code */表示
例:

//多行注释:可以注释多行文字   /*       */
        /*package 注释;
        public class HelloWorld {
            public static void main(String[] args) {
                System.out.println("Hello World!");
            }
        }*/

脑洞大开的注释图:

/***
 *                    _ooOoo_
 *                   o8888888o
 *                   88" . "88
 *                   (| -_- |)
 *                    O\\ = /O
 *                ____/`---'\\____
 *              .   ' \\\\| |// `.
 *               / \\\\||| : |||// \\
 *             / _||||| -:- |||||- \\
 *               | | \\\\\\ - /// | |
 *             | \\_| ''\\---/'' | |
 *              \\ .-\\__ `-` ___/-. /
 *           ___`. .' /--.--\\ `. . __
 *        ."" '< `.___\\_<|>_/___.' >'"".
 *       | | : `- \\`.;`\\ _ /`;.`/ - ` : | |
 *         \\ \\ `-. \\_ __\\ /__ _/ .-` / /
 * ======`-.____`-.___\\_____/___.-`____.-'======
 *                    `=---='
 *
 * .............................................
 *          佛祖保佑             永无BUG
 */
/***
 * _ooOoo_
 * o8888888o
 * 88" . "88
 * (| -_- |)
 *  O\\ = /O
 * ___/`---'\\____
 * .   ' \\\\| |// `.
 * / \\\\||| : |||// \\
 * / _||||| -:- |||||- \\
 * | | \\\\\\ - /// | |
 * | \\_| ''\\---/'' | |
 * \\ .-\\__ `-` ___/-. /
 * ___`. .' /--.--\\ `. . __
 * ."" '< `.___\\_<|>_/___.' >'"".
 * | | : `- \\`.;`\\ _ /`;.`/ - ` : | |
 * \\ \\ `-. \\_ __\\ /__ _/ .-` / /
 * ======`-.____`-.___\\_____/___.-`____.-'======
 * `=---='
 *          .............................................
 *           佛曰:bug泛滥,我已瘫痪!
 */

1.2.2第二种方式

还是用//表示
例:

 //多行注释:鼠标选中要注释的代码块,然后Ctrl+/即可
//        package 注释;
//        public class HelloWorld {
//            public static void main(String[] args) {
//                System.out.println("Hello World!");
//
//            }
//        }

1.3文档注释

用/** */表示
例:

//JavaDoc:文档注释     /**    */
/**
 * @Description HelloWorld
 * @Author king
 */

2.标识符

在这里插入图片描述
关键字:
在这里插入图片描述

  • 注意:String是类,而不是关键字。
    例:
package 标识符;
public class test {
    public static void main(String[] args) {
        //所有标识符都应该以字母(A-Z或者a-z),美元符($),或者下划线(_)开始
        //1.大写字母:
        String Aing="teacher";
        //2.小写字母:
        String aing="teacher";
        //3.美元符($):
        String $aing="teacher";
        //4.下划线(_)
        String _aing="teacher";
        //首字母之后可以是字母(A-Z或者a-z),美元符($),下划线(_)或数字的任何字符组合
        String _12="teacher";
        String $12="teacher";
        String s12="teacher";
        String A12="teacher";
        //中文命名(不建议使用)
        String 王者荣耀段位="白银黄金";
        System.out.println(王者荣耀段位);
        //java大小写敏感
    }
}
  • 注意:Java是大小写敏感的,要严格按照大小写来写。

3.数据类型

3.1八大基本数据类型:

在这里插入图片描述
在这里介绍一下字节:
在这里插入图片描述

  • 注意:两个字节称为一个字或者字母。
    代码:
package 数据类型;
public class test1 {
    public static void main(String[] args){
        //八大基本数据类型
        //1.整数
        byte a1=10;
        short a2=100;
        int a3=1000;
        long a4=10000L;//long数据类型要在数字后面加L(大小写均可)
        //2.小数:浮点数
        float a5=50.1F;//float数据类型要在数字后面加F(大小写均可)
        double a6=3.1415926434;
        //3.字符
        char name0='a';
        char name='过';
        //char只能输入一个字母或者汉字
        String name1="guo";
        String name2="过来";
        String name3="123";
        //字符串。String不是关键字,是类
        //4.布尔类型:是非
        boolean flag=true;
        boolean flag1=false;
    }
}

  • 注意:long数据类型要在数字后面加L(大小写均可)
  • 注意:float数据类型要在数字后面加F(大小写均可)

3.2数据类型相关知识:

package 数据类型.面试题;
public class test3 {
    public static void main(String[] args) {
        //数据扩展: 进制: 二进制ob  八进制0  十进制  十六进制0x开头
        int i = 10;//整数,十进制
        int i0 = 0b10; //二进制ob,表示十进制的二
        int i1 = 010; //八进制0,表示十进制的八
        int i2 = 0x10;//十六进制0x,表示十进制的十六   0~9  A~F
        System.out.println(i);//10
        System.out.println(i0);//2
        System.out.println(i1);//8
        System.out.println(i2);//16
        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
        System.out.println(f);//0.1
        System.out.println(d);//0.1
        float a = 123456789f;
        float b = a + 1;
        System.out.println(a == b);//true
        System.out.println("====================================================");
        //字符拓展
        char c1 = 'a';//java 中 用统一码 都是每个字母占二字节, 中文也占二字节,只能输入一个字母或文字
        char c2 = '中';
        char q = '中' + '国'; //--42282
//        char m=‘中’+‘国’+‘国’+‘国’; //报错 int转char有损失 超出了char类型的范围
        char r = '中' + 1;               //结果提升为int 输出对应字符
//        char m=‘中’+‘国’           //报错 两个char相连或者多个相连 转换为String
        char m = 'a' + 'b'; //char类型相加,提升为int类型,输出对应字符    char m='a'+b;   报错  b是一个赋值变量
        char n = 120; //输出对应字符                                   char m='197';   报错 有单引号表示字符 但是char只能存储单个字符
        char o = 'a' + 1; //输出b  提升为int 输出对应的字符
        System.out.println(c1);//a
        System.out.println((int) c1);//97//强制转换
        System.out.println(c2);//中
        System.out.println((int) c2);//20013//强制转换
        System.out.println(m);//Ã
        System.out.println(n);//x
        System.out.println(o);//b
        System.out.println(q);//ꔪ
        System.out.println(r);//丮
        //所有的字符本质还是数字
        //编码  Unicode 2字节  0~65536  Excel  2的16次方=65536
        //65 A    97a   依次递增
        //Unicode 表示U0000~UFFFF
        char c3 = '\\u0061';
        System.out.println(c3);//a//输出a
        System.out.println("====================================================");
        //转义字符
        //\\t  制表符(tab键)
        //\\n  换行符
        System.out.println("Hello\\tWorld");//Hello	World
        System.out.println("Hello\\nWorld");//Hello
                                           //World
        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
        //对象  从内存分析
        System.out.println("====================================================");
        //布尔值扩展
        boolean flag = true;
        if (flag == true) {}
        if (flag){}
        //上边两个相同
    }
}

4.数据类型的转换

4.1类型转换

在这里插入图片描述
强制转换 (类型)变量名 高—低
自动转换 低—高
代码展示:

package 数据类型转换;

public class test2 {
    public static void main(String[] args) {
        int i=128;
        byte a=(byte)i;       //强制转换
        System.out.println(a);//内存溢出,故输出-128
        double b=i;           //自动转换
        //强制转换   (类型)变量名    高---低
        //自动转换                    低---高
        System.out.println(i);//128
        System.out.println(b);//128.0
        /*
        注意点:
        1.不能对布尔型进行转换
        2.不能把对象类型转换为不相干的类型
        3.在把高容量转换到低容量的时候,强制转换
        4.转换的时候可能存在内存溢出,或者精度问题!
         */
        System.out.println("====================================================");
        float p=23.7F;
        System.out.println((int)p);    //23
        System.out.println((int)-45.89f); //-45
        System.out.println("====================================================");
        char c='a';
        int d=c+1;
        System.out.println(d);//98
        System.out.println((char) d);//b
    }
}

4.2数据类型转换的相关问题

package 数据类型转换.一些常见问题;
public class test4 {
    public static void main(String[] args) {
        //操作比较大的数的时候,注意溢出问题
        //JDK7新特性,数字之间可以用下划线分割,不影响数值
        int money=10_0000_0000;
        int years=20;
        int total=money*years;
        System.out.println(total);//-1474836480 //输出的不是二十亿,计算的时候溢出了
        long total1=money*years;
        System.out.println(total1);//-1474836480//默认是int型,转换之前问题已经存在
        long total2=money*((long)years);
        System.out.println(total2);//20000000000//先把一个数转换为Long
    }
}

5.变量 作用域 常量

5.1变量

在这里插入图片描述
代码展示:

package 变量作用域常量;

public class test5 {
    public static void main(String[] args) {
        //变量
        int a=1,b=2,c=3;//不建议这样写,最好写成三行形式
        String name="King";
        char d='a';
        double PI=3.14;
    }
}

5.2作用域

在这里插入图片描述
代码展示:

package 变量作用域常量;

public class test6 {
    //类变量 static
    static double salary = 10000;
    //属性:变量
    //实例变量:从属于对象  类里面方法外面
    String name;
    int age;//若无初始化赋值则默认赋初始值为0或null

    //布尔值默认是false
    //除了基本类型,其余默认值都是null;
    //main方法
    public static void main(String[] args) {
        //局部变量  必须声明和赋予初始化值
        int i = 10;//局部变量必须初始化赋值,否则无法用
        System.out.println(i);//10
        //变量类型  变量名字=new test6()
        test6 aa = new test6();
        System.out.println(aa.age);//0
        System.out.println(aa.name);//null
        //类变量 static
        System.out.println(salary);//10000.0
    }

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

    }
}

5.3常量

在这里插入图片描述
代码展示:

package 变量作用域常量;

public class test7 {
    //static修饰符,不存在先后顺序
    static final double PI=3.14;
    //等价于final static double PI=3.14;
    public static void main(String[] args) {
        System.out.println(PI);
    }//3.14
}

变量命名规范
在这里插入图片描述

6.基本运算符

6.1运算符

在这里插入图片描述
运算符可以是一元、二元或三元的。

一元运算符有1个操作数。例如,递增运算符"++"就是一元运算符。

二元运算符有2个操作数。例如,除法运算符"/"有2个操作数。

三元运算符有3个操作数。例如,条件运算符"?:"具有3个操作数。

运算符的行为还可能因所提供的操作数的数量而异。减法运算符"-"既是一元运算符又是二元运算符。对于减法运算符,如果只提供一个操作数,则该运算符会对操作数取反并返回结果;如果提供两个操作数,则减法运算符返回这两个操作数的差。
例如:
将减法运算符用作一元运算符(取反运算符)
trace(-5); // -5
将减法运算符用作二元运算符
trace(9-3); // 6
代码展示:

package 基本运算符;

public class Test {
    public static void main(String[] args) {
         //二元运算符
        //Ctrl+D 复制当前行到下一行
        int a=10;
        int b=20;
        int c=30;
        int d=40;
        System.out.println(a+b);//30
        System.out.println(a-b);//-10
        System.out.println(a*b);//200
        System.out.println(a/(double)b);//0.5//此处需要强制转换,否则默认是int类型,只输出整数部分
        System.out.println("====================================================");
        long e=123456789L;
        int f=123;
        short g=12;
        byte h=1;
        System.out.println(e+f+g+h);//123456925//Long类型
        System.out.println(f+g+h);//136  //int类型
        System.out.println(g+h); //13   //int类型
        //加法运算中有一个变量是Long类型,则结果一定是Long类型,其他均为int类型
        System.out.println("====================================================");
        //关系运算符属于二元运算符
        //> < >= <= == !=
        //关系运算符返回的结果:正确   错误   布尔值
        int i=10;
        int j=20;
        int k=22;
        System.out.println(k%j+k%i);//4// 取余,模运算
        System.out.println(i>j);//false
        System.out.println(i<j);//true
        System.out.println(i==j);//false
        System.out.println(i!=j);//true
        System.out.println("====================================================");
        //逻辑运算符,除了!是一元运算符其他是二元运算符
        //&(与)  |(或) !(非) &&(简洁与) ||(简洁或) ^(异或)
        //与(and)   或(or)   非(取反)
        boolean l=true;
        boolean m=false;
        System.out.println("l&&m:"+(l&&m));//l&&m:false
        System.out.println("l||m:"+(l||m));//l||m:true
        System.

以上是关于JAVA入门——一的主要内容,如果未能解决你的问题,请参考以下文章

反射机制入门

反射机制入门

反射机制入门

动态SQL基础概念复习(Javaweb作业5)

JVM入门

字节码增强技术之 Java Agent 入门