1 Java基础

Java基础

阿里巴巴java开发手册

 

一、注释

  • 设置工程参数:

    1. file—Project Structure,将SDK调整为1.8,Language Level调整为8,并apply

    2. 新建一个Class,写出Hello,World!

    3. 单行注释 //单行注释

    4. 多行注释: /* */

    5. 文档注释: /** */

Sout

Psvm

 

二、标识符

  • 标识符是大小写敏感的

 

三、数据类型

  1. 基本类型(8个)

    1.  

  2.  

 

四、数据类型转换(Demo05&06)

  • 从低至高:byte, short, char——int——long——float——double

  • 小数的优先级大于整数

  • 强制转换:(类型)变量名 高—低

  • 自动转换:低—高

  • 注意: 1. 不能对布尔值进行转换 2. 不能把对象类型转换为不相干的类型 3. 把高容量转换为低容量时,强制转换 4. 转换的时候可能存在内存溢出或者精度问题

package com.guang.base;
​
public class Demo05 {
    public static void main(String[] args) {
        int i=128;
        byte b=(byte)i;//内存溢出
        System.out.println(i);
        System.out.println(b);
        //强制转换:(类型)变量名    高—低
        //自动转换:低—高
        double c=i;
        System.out.println(c);
        /*
        1. 不能对布尔值进行转换
        2. 不能把对象类型转换为不相干的类型
        3. 把高容量转换为低容量时,强制转换
        4. 转换的时候可能存在内存溢出或者精度问题!
         */
        System.out.println("==================");
        System.out.println((int)23.7);//23
        System.out.println((int)-45.89f);//45
        System.out.println("==================");
        char e='a';
        int f=e+1;
        System.out.println(f);
        System.out.println((char) f);
    }
}

 

package com.guang.base;
​
public class Demo06 {
    public static void main(String[] args) {
        //操作比较大的数的时候注意溢出问题
        //JDK7新特性,数字间可以用下划线分割
        int money=1_000_000_000;
        int years=20;
        int total=money*years;//-1474836480,计算结果溢出
        long total2=money*years;//-1474836480,默认后面两个的乘积为int类型,计算之前已经存在问题了
        long total3=money*((long)years);//计算时先把一个数据类型转成long
        System.out.println(total);
        System.out.println(total2);
        System.out.println(total3);
    }
}

 

 

五、变量(demo08)

  1. 变量是程序中的最基础的存储单元,要素包括变量名,变量类型和作用域。

    1. 每个变量都有类型,包括基本类型和引用类型

    2. 变量名是合法的标识符

    3. 变量声明是一条完整的语句,每一个声明都需要用 ; 隔开

  2. 变量作用域:类变量;实例变量;局部变量

package com.guang.base;
​
public class Demo08 {
    //属性:变量
​
    //类变量  static   从属于类,可直接输出
    static double salary=2500;
​
    //第一:实例变量,从属于对象;如果不自行初始化,这个类型将输出默认值,0或0.0  u000
    //布尔值的输出默认值是false
    //除了基本类型(8ge),其余的类型输出默认值都是null
    String name;
    int age;
​
    //main方法
    public static void main(String[] args) {
​
        //第二,局部变量,在方法之间,必须声明和初始化值
        int i=10;
        System.out.println(i);
​
        //实例变量的使用
        //变量类型  变量名字 = new com.guang.base.Demo08()
        Demo08 demo08 = new Demo08();
        System.out.println(demo08.age);//demo08是变量的名字,所以是小写
        System.out.println(demo08.name);
​
        //类变量
        System.out.println(salary);
    }
    //其他方法
    public void add(){
    }
}

六、常量(demo09)

final 常量名=值;(常量名一般用大写字符)

package com.guang.base;
​
public class Demo09 {
    //修饰符static和final,不存在先后顺序
    static final double PI=3.14;
    public static void main(String[] args) {
        System.out.println(PI);
    }
}

 

七、运算符

  1. 算数运算符:+,-,*,/,%(取余数),++,--

    package com.guang.operator;
    ​
    public class Demo01 {
        public static void main(String[] args) {
            //二元运算符
            //ctrl+D 复制单前行到下一行
            int a=10;
            int b=20;
            int c=25;
            int d=25;
            System.out.println(a+b);
            System.out.println(a-b);
            System.out.println(a*b);
            System.out.println(a/(double)b);//int类型,除出来后去除小数取整,强转一个为double类型
        }
    }

    自增++、自减--

    package com.guang.operator;
    ​
    public class Demo04 {
        public static void main(String[] args) {
            //++   --   自增,自减,一元运算符
            int a=3;
            int b = a++;//执行完这代码后,先给b赋值,a再自增
            //a++   a=a+1;
            System.out.println(a);//4
            //a++   a=a+1;
            int c = ++a;//++a   a=a+1;//执行完这代码后,先自增,再给c赋值
    ​
            System.out.println(a);//5
            System.out.println(a);
            System.out.println(b);
            System.out.println(b);
            System.out.println(c);
            System.out.println(c);
    ​
            //幂运算  2^3;   很多运算会采用工具类来操作;
            double pow = Math.pow(2, 3);
            System.out.println(pow);
            System.out.println("______________");
                int e=2;
            System.out.println(e);
                int f=e++;//执行完这代码后,先给f赋值,e再自增//赋值给f的e是没有自增的,所以f=2;
            System.out.println(e);
                int g=++e;/*执行完这代码后,e先自增,再给g赋值//赋值给g的e是先进行自增的,
             e给f赋值后先自增,然后自增后的e在赋值给g前先自增,在赋值给g,相当于2+1+1=4;*/
            System.out.println(e);
            System.out.println(f);
            System.out.println(g);
            System.out.println("______________");
            int i=4;
            System.out.println(i);
            int h=++i;
            System.out.println(i);
        }
    }
  2. 赋值运算符:=

    package com.guang.operator;
    ​
    public class Demo02 {
        public static void main(String[] args) {
            long a=1234827834948L;
            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
        }
    }
  3. 关系运算符:>,<,>=,<=,!=(不等于),instanceof

    package com.guang.operator;
    ​
    public class Demo03 {
        //关系运算符返回布尔值,正确,错误
        public static void main(String[] args) {
            int a=10;
            int b=20;
            int c=21;
            System.out.println(c%a);//c/a   1
            System.out.println(a>b);
            System.out.println(a<b);
            System.out.println(a==b);
            System.out.println(a!=b);
        }
    }
  4. 逻辑运算符:&&(与),||(或),!(非)

    package com.guang.operator;
    ​
    public class Demo05 {
        //逻辑运算符,或与非
        public static void main(String[] args) {
            boolean a=true;
            boolean b=false;
            System.out.println("a&&b:"+(a&&b));//逻辑与运算,两个均为真,结果为真
            System.out.println("a||b:"+(a||b));//逻辑或运算,只要一个为真,结果为真
            System.out.println("!(a&&b):"+(a&&b));//逻辑非运算,如果是真则为假,如果是假则为真
    ​
            //短路运算,当与运算第一个条件为假时,则不会判断后续条件。
            int c=5;
            boolean d=(c<4)&&(c++<7);
            System.out.println(d);
            System.out.println(c);//c小于4,结果为假,故d未执行c++操作;
        }
    }
  5. 位运算符:&,|,^,~,>>(右移),<<(左移),>>>(右移且把高位等于0)

    1. A=0011 1100
      B=0000 1101
      
      A&B=0000 1100    与运算,都是1则为1,否则为0
      A|B=0011 1101     位运算,都是0则为0,否则为1
      A^B=0011 0001   异或,相同取0,不同取1
      ~B=1111 0010      取反,与上述相反,0则为1,1则为0
          
      <<   相当于*2
      >>   相当于/2
              000000   0
              000001   1
              000010   2
              000100   4=2<<1
              001000   8=2<<2
              010000   16=2<<3
  6. 条件运算符:?,:

    public class Demo08 {
        public static void main(String[] args) {
            //x?y:z   意思是如果x==ture,则结果为y,否则结果为z
            int score=80;
            String type=score<60?"不及格":"及格";
            System.out.println(type);//及格
        }
  7. 扩展赋值运算符:+=,-=,*=,/=

      int a=10;
            int b=20;
            a-=b;//a=a-b
            System.out.println(a);//-10
            a+=b;//a=a+b
            System.out.println(a);//10
    
            //字符串连接符   + ,   String类型“”
            System.out.println(""+a+b);//1020,空为字符串类型,后面加上加号表示把所有的当做字符串进行连接;
            System.out.println(a+b+"");//30,先进行加法,然后进行求和运算;
            System.out.println(""+(a+b));//30,先进行加法,然后进行求和运算;

 

八、包机制

  • 一般用公司域名倒置进行命名 如:com.baidu.www

  • package pkg1[.pkg2[.pkg3...]];

  • 包名在代码的最顶端,导入其他包用“import package pkg1[.pkg2[.pkg3...]]”,导入包的代码放在原始包名下面

 

九、Java.Doc

  1. Jdk帮助文档网址:https://docs.oracle.com/javase/8/docs/api/

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

  3. 参数信息:

    1. @author作者名

    2. @version 版本号

    3. @since 指明需要最早使用的jdk版本

    4. @param参数名

    5. @return 返回值情况

    6. @throws 异常抛出情况

  4. 通过命令行生成JavaDoc文档:javadoc -encoding UTF-8 -charset UTF-8 Doc.java

  5. 通过IDEA生成“JavaDoc文档”:Tools——Generate JavaDoc,选择文件夹及对应位置。

    package com.guang.base;
    /**
     * @author  Guang
     * @version  1.0
     * @since  1.8
     */
    public class Doc {
        String name;
    ​
        /**
         * @author Guang
         * @param name
         * @return
         * @throws  Exception
         */
        public String test(String name){
            return name;
        }
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值