自学java第三天:基础语法

  1. 注释、标识符、关键字

注释并不会被执行,是写给写代码或看代码的人看的,让别人看懂自己的代码。

单行标注、多行标注、文档标注

public class Main {
    public static void main(String[] args) {
        //单行注释
        //输出一个Hello world
        System.out.println("Hello world!");
    }
}
public class Main {
    public static void main(String[] args) {
        /*
        多行注释(可以注释一段文字)
        输出一个Hello world
         */
        System.out.println("Hello world!");
    }
}
/**
 * @Description Hello world
 * @Author ZXL
 */
public class Main {
    public static void main(String[] args) {

        System.out.println("Hello world!");
    }
}
/***
 *               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
 */
public class Main {
    public static void main(String[] args) {
       
        System.out.println("Hello world!");
    }
}

标识符:Java所有的组成成分都需要名字。类名、变量名以及方法名都被成为标识符。

//           类名
public class Main {
//                      方法名
    public static void main(String[] args) {
//             变量名     
        String auther = "ZXL";
       
        System.out.println("Hello world!");
    }
}

标识符只能以大小写字母、$、_开头;首字母之后可以任意(除特殊字符外例如#);

标识符是大小写敏感的;可以使用中文,但不建议使用中文。

关键字是指在Java中已经被使用的名字例如public、class、static等等

  1. 数据类型(基本类型、引用类型)

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

基本类型:数值类型、boolean类型

数值类型:整数类型、浮点类型、字符类型

整数类型:byte占1个字节范围为-128-127、short占2个字节范围-32768-32767

int占4个字节范围为-2147483648-2147483647、

long占8个字节范围为-9223372036854775808-9223372036854775807

浮点类型:float占4个字节、double占8个字节

字符类型:char占2个字节

boolean类型:占一位其值只有ture和false两个

引用类型:类、接口、数组

public class Main {
    public static void main(String[] args) {
        //八大基本数据类型
        //整数
        int num1 = 10;//最常用
        byte num2 = 20;
        short num3 = 30;
        long num4 = 40L;//long类型在数字后面加个L
        //小数、浮点数
        float num5 = 50.1F;//float类型要在数字后面加个F
        double num6 = 3.1415926;
        //字符类型
        char name = '赵';
        //字符串
        String namea= "ZXL";
        //boolean类型
        boolean flag = true;
        //boolean flag = false;
        

        System.out.println("Hello world!");
    }
}

下面扩展一下

public class Main {
    public static void main(String[] args) {
        //整数拓展:进制
        int i = 10;
        int i2 = 010;//八进制
        int i3 = 0x10;//十六进制


        System.out.println(i);
        System.out.println(i2);
        System.out.println(i3);
        System.out.printf("==============================================");
        //浮点数拓展    银行业务真么表示 /
        //BigDecimal   数学工具类
        float f = 0.1F;
        double d = 1.0/10;
        System.out.println(f==d);//false
        System.out.println(f);
        System.out.println(d);
        //最好完全不用浮点数进行比较
        //===================================================
        //字符拓展
        char c1 = 'a';
        char c2 = '中';
        System.out.println(c1);
        System.out.println((int)c1);//强制转换97
        System.out.println(c2);
        System.out.println((int)c2);//强制转换20013
        //所有的字符本质都是数字
        //编码 Unicode 2字节 0-65536
        //Excel   2^16 = 65536

        char c3 = '\u0061';
        System.out.println("c3");//a

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

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

        //boolean扩展
        boolean flag = true;

        if (flag==true){ }//新手
        if (flag){}//老手


    }
}
  1. 类型转换

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

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

类型转换:强制类型转换、自动类型转换

低-----------------------------------------高

byte,short,char->int->long->float->double

public class Main {
    public static void main(String[] args) {
        int i = 128;
        byte b = (byte)i;//内存溢出
        //强置转换  (类型)变量名  高--低
        System.out.println(i);//128
        System.out.println(b);//-128

        //自动转换   低--高
        int j = 128;
        double c = j;
        System.out.println(j);
        System.out.println(c);

        /*
        注意点
        1.不能对boolean值进行转换、
        2.不能把对象类型转换成不相干的类型
        3.再把高容量转换为低容量时,强制转换,反之为自动转换
        4.转换的时候可能存在内存溢出,或者精度问题!
         */
        System.out.println("=======================");
        System.out.println((int)23.7);//23
        System.out.println((int)-45.89);//-45
        System.out.println("=======================");
        char d = 'a';
        int e = d+1;
        System.out.println(e);//98
        System.out.println((char)e);//b

        System.out.println("=======================");

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


    }
}
  1. 变量

变量就是可以变化的量!

java是一种强类型语言,每个变量都必须声明其类型。

变量包括:变量名、变量类型、作用域。

注意:类型可以是基本类型亦可以是引用类型

变量名必须是合法的标识符

变量声明是一条完整的语句,因此每一个声明都需要以分号结束

public class Main {
    public static void main(String[] args) {
        //int a,b,c;
        //int a=1,b=2,c=3;
        //最好写三行
        int a = 1;
        int b = 2;
        int c = 3;
        String name = "ZXL";
        char x = 'X';
        double pi = 3.14;


    }
}

作用域:类变量、实例变量、局部变量

public class Main {
    //可以定义属性:变量
    static int allclick = 0;//类变量
    String str = "Hello world!";//实例变量;如果不自行初始化,这个类型默认值为0 0.0
    //boolean值默认为false
    //除了基本类型,其余的都是null;
    //main方法
    public static void main(String[] args) {

        int i = 0;//局部变量,
        System.out.println(i);
        //使用实例变量需要先new对应的类
        //写下  new 类名
        // new Main()按下alt+回车,生成下面语句
        //变量类型  变量名字 = new Main();
        Main main = new Main();
        System.out.println(main.str);

        //类变量  static
        System.out.println(allclick);//可以直接用



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

    }
    }
  1. 常量

初始化后不能在改变值,不能变动的值;常量名一般使用大写字符

public class Main {
    static final double PI = 3.14;
    //修饰符不存在先后顺序
    final static String NAME = "ZXL";

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



    }
}
  1. 变量命名规范

所有变量、方法、类名:见名知意

类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个单词以外,后面的单词首字母大写 lastname lastName

局部变量:首字母小写和驼峰原则

常量:大写字母和下划线:MAX VALUE

类名:首字母大写和驼峰原则:Man,GoodMan

方法名:首字母小写和驼峰原则:run(),runRunt

  1. 运算符

  • 算数运算符:+、-、*、/、%、++、--

  • 赋值运算符:=

  • 关系运算符:>,<,>=,<=,==,!=instanceof

  • 逻辑运算符:&&,||,!

  • 位运算符:&,|,^,~,>>,<<,>>>(了解!)

  • 条件运算符?:

  • 扩展赋值运算符:+=,-=,*=,/=

public class Main {

    public static void main(String[] args) {
        //二元运算符
        //ctrl + d :复制当前行到下一行
        int a = 10;
        int b = 20;
        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        System.out.println(a/(double)b);

        System.out.println("=====================================");
        long c = 12513213212131L;
        int d = 123;
        short e = 10;
        byte f = 8;
        System.out.println(c+d+e+f);//long
        System.out.println(d+e+f);//int
        System.out.println(e+f);//int
        System.out.println("=====================================");
        //关系运算符返回的结果:正确、错误  布尔值
        int i = 10;
        int j = 20;
        int k = 21;
        System.out.println(i>j);
        System.out.println(i<j);
        System.out.println(i==j);
        System.out.println(i!=j);
        System.out.println(k%i);//  k/i=2...1
        System.out.println("==================================");
        //  ++  -- 自增  自减  一元运算符
        int x = 3;
        int y = x++;//a++   a=a+1,执行完这行代码后,先给y赋值,在自增
        System.out.println(x);
        int z = ++x;//执行完这行代码前,先自增,在给z赋值
        System.out.println(x);
        System.out.println(y);
        System.out.println(z);
        System.out.println("=====================================");
        //幂运算  很多运算要借助工具类来运算
        double pow = Math.pow(2,3);
        System.out.println(pow);
        System.out.println("===============================");
        //逻辑运算符
        //与(and)  或(or)   非(取反)
        boolean m = true;
        boolean n = false;

        System.out.println(m&&n);//逻辑与运算:两个变量都为真,结果才为真
        System.out.println(m||n);//逻辑或运算,有一个为真,则为真
        System.out.println(!(m&&n));//如果是真则为假,如果是假则为真

        //短路运算
        System.out.println(n&&m);//n为假,则后面就不会执行
        System.out.println("======================================");
        //位运算
        /*
        A=0011  1100
        B= 0000 1101
        A&B =0000 1100
        A|B =0011 1101
        A^B =0011 0001
        ~B  =1111 0010
        2*8 = 16   2*2*2*2
        <<  *2

         >>  /2
         */
        System.out.println(2<<3);
        System.out.println("=====================================");
        int a1 = 10;
        int a2 = 20;
        a1+=a2;//a1 = a1 + a2
        System.out.println(a1);
        System.out.println("===================================");
        //字符串连接符
        System.out.println(a1+a2);
        System.out.println(""+a1+a2);
        System.out.println(a1+a2+"");
        System.out.println("=====================================");
        //三元运算符
        //x?y:z
        //如果x==ture,则结果为y,否则为z
        int score = 80;
        String type = score<60?"不及格":"及格";
        //  if
        System.out.println(type);

    }
}
  1. 包机制

为了更好的组织类,java提供了包机制,用于区别类名的命名空间

package pkg1[.pkg2[.pkg3...]]

一般利用公司域名倒置作为包名;com.baidu.www

累了能够使用某一个包的成员,我们需要在java程序中明确导入该包。使用“import”语句可完成此功能。

import package1[.package2...].(classname|*);
import com.baidu.base.*;//导入这个包下的所有类
  1. JavaDoc

javadoc命令是用来生成自己API文档的

参数信息:@author 作者号

@version 版本号

@since 指明需要最早使用的JDK版本

@param 参数名

@return 返回值情况

@throws 异常抛出情况

命令行生成:javadoc Java文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值