Java基础语法

JavaSE

Java基础语法

注释

  • 书写注释是一个好的习惯。
  • 单行注释。
//
  • 多行注释
/*
  • 文档注释
/**
*
*/

/***
 *               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所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。

关键字

  • image-20211104214915104

标识符注意点

  • 所有的标识符都应该以字母(A-Z或a-z),美分$,下划线(_)开始(首字母)。
  • 首字母之后可以是字母(A-Z或a-z),美分$,下划线(_)或数字的任意组合。
  • 不能使用关键字作为变量名或方法名。
  • 标识符是大小写敏感的。

数据类型

强类型语言

  • 变量的使用要严格符合规定,所有的变量都必须先定义后才能使用。
  • Java安全性高,代价速度慢(相对)。

弱类型语言

Java的数据类型

  • image-20211104214915104
  • byte

  • short

  • int

  • long

    long num=30L;
    
  • float

    float num=50.1F
    
  • double

    double  num=3.1415916
    
  • String 字符串

    //String不是关键字,是类
    String a="20";
    
  • Boolean 占一位

  • char 字符

什么是字节

  • 位(bit):是计算机内部储存数据的最小单位0 1。
  • 字节(byte):是计算机内部数据处理的基本单位 B。
  • 1B=8bit。
  • 字符:是指计算机中使用的字母,数字,字和符号。

进制

  • 二进制0b
  • 八进制0
  • 十六进制0x 0-9 A-F 16

浮点数拓展

  • float 有限 离散 舍入误差 大约 接近但是不等于
  float f=0.1f;  //0.1
        double d=1.0/10;  //0.1
        System.out.println(f==d);   //false
        float d1=343724748424f;
        double d2=d1+10;
        System.out.println(d1==d2);   //true
  • 解决:

    • BIgDecimal 数学工具类。

字符拓展

  //强制转换
        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);//21271
        char c3='\u0061';
        System.out.println(c3);//a
//所有的字符本质还是数字
//编码    Unicode    2字节   0-65536     

转义字符

  • \t 制表符
  • \n 换行

思考

String  sa=new String("Hello World!");
        String  sc=new String("Hello World!");
        System.out.println(sa==sc);//false
        String  sd="Hello World!";
        String  se="Hello World!";
        System.out.println(sd==se);//true
提示:   对象    内存扩展   

布尔值扩展

boolean flag=true;
if (flag){  }
//代码要精简

类型转换

//低---------------------------------高
//byte,short,char--int---long---float---double
  • 运算中,不同类型的数据先转化为同一类型,然后进行运算。
  • 强制类型转换 高-->低。
  • 自动类型转换 低 --> 高。
        int i=128;
        byte b=(byte)i;//内存溢出
        System.out.println(i);
        System.out.println(b);   
/*注意点:
不能对布尔值进行转换。
不能把对象转换为不想干的类型。
强制类型转换   高-->低。
转换的时候可能存在内存溢出,或者精度问题!
   */
//操作比较大的数的时候,注意内存溢出。
//JDK7新特性,数字之间可以下划线分割。
int   money=10_0000_0000;
int   years=30;
int   total=money*years   //内存溢出
  long  total=money*years   //默认是int,转换之前已经内存溢出。
  long  total=money*((long)years)  //正确

变量

  • 变量:可以变化的量。
  • 所有的变量都必须先声明类型后才能使用。
  • Java变量是程序中最基本的存储单元,包括变量名,变量类型和作用域

变量作用域

  • public class Variable{
      static int allClicks=0;//类变量
          String str="hello world";//实例变量
        public void method(){
            int i=0;//局部变量
        }
    
  • package com.edu.pzhu.learner;
    public class JavaTest02 {
        //类变量  static
        static double salary=2500;
        //属性:变量
        //实例对象:从属于对象 如果不自行初始化,是这个类型的默认值
        //布尔值:默认false
        //除了基本类型,其余都是null
        String name;
        int age;
        //main方法
        public static void main(String[] args) {
            //局部变量:必须声明和初始化值
            int i=10;
            System.out.println(i);
            //变量类型   变量名字:=new JavaTest02()
            JavaTest02 demo=new JavaTest02();
            //类变量  static
            System.out.println(salary);
        }
        //其他方法
        public void add(){
        }
    }
    

常量(Constant)

  • 特殊变量

  • 初始化(initialize)后不能改变的值。

//修饰符,不存在先后顺序  final--常量
static final double PI=3.14;
final static  double PI=3.14;

变量的命名规则

image-20211104214915104

运算符

image-20211104214915104
        long a=2345656;
        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
  • 关系运算符返回的结果:正确 错误 boolean

自加自减

  • a++ 先运算,再自加。

  • ++a 先自加,再运算。

幂运算

double pow=Math.pow(2,4);     //工具类

逻辑运算符

  • && || !

    image-20211104214915104

位运算

/*       A=0011 1100
         B=0000 1101

         A&B=0000 1100  //类似交
         A|B=0011 1101   //类似并
         A^B=0011 0001   //相同为0,不同为1
          ~B=1111 0010    //反
          //2*8----->2*2*2*2
          //效率高
          <<  *2
          >>  /2
          System.out.println(2<<3);
*/

条件运算符

  • ? :
  • x?y:z
    • x?y:z
      如果x==true,则结果为y,否则结果为z

扩展赋值运算符

a+=b;    //a=a+b;

//字符串连接符
int a=10;
int b=20;
System.out.println(""+a+b);//1020  字符串
System.out.println(a+b+"");//30  

包机制

  • 组织类

  • package com.edu.pzhu.learner;    //*通配符
    
  • 为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。

  • 包语句的语法格式为:

    • package pkg1[. pkg2[. pkg3]];
      
  • 一般利用公司域名倒置作为包名;

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

  • import package1[.package2...].(classname|*);
    
  • Ctrl+鼠标右键 跳转

JavaDoc

  • javadoc命令是用来生成自己API文档的。
  • 参数信息:
    • @author 作者名
    • @version 版本号
    • @since 指明需要最早使用的jdk版本
    • @param 参数名
    • @return 返回值情况
    • @throws 异常抛出情况
package com.edu.pzhu.learner;
/**
*@author JCooling
* @version 1.0.0
 * @since 1.8
 */
public class Doc {
    String name;
    /**
     * 
     * @param name
     * @return
     * @throws Exception
     */
    public String test(String name) throws Exception{
        return  name;
    }
}
  • dos命令

    javadoc -encoding UTF-8 -charset UTF-8 Doc.java
    
posted @ 2021-11-14 21:32  JCooling  阅读(68)  评论(0)    收藏  举报