Java基础语法

Java基础语法

注释(好习惯)BAT

  • 单行注释

  • 多行注释

  • 文档注释

    public class HelloWorld {
        public static void main(String[] args) {
            //单行注释
            //输出一个Hello World
            System.out.println("Hello World");
            /*
            多行注释
            可注释一段文字
             */
            /**
             * Java doc
             */
        }
    }
    

标识符 关键字

数据类型

String 不是关键字,是类

拓展

  • 整数拓展

  • 浮点数拓展

    • float 有限 离散 舍入误差 大约 接近但不等于 (最好完全避免使用浮点数进行比较)
    • 强制转换 (所有的字符本质还是数字) Unicode 2字节 0-65536 U0000-UFFFF
  • 转义字符

    • \t 制表符
    • \n 换行
  • 布尔值扩展

    • boolean flag = true;

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

      if(flag){} //老手

  • less is more!

类型转换

  • 强制类型转换

  • 自动类型转换

    public class Demo05 {
        public static void main(String[] args) {
            int i = 128;
            byte b = (byte) i ;  //内存溢出
            // 强制转换  (类型)变量名     高----低
            // 自动转换       低----高
    
            System.out.println(i);
            System.out.println(b);
            /*
            注意点:
            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 c = 'a';
            int d = c + 1;
            System.out.println(d);
            System.out.println((char)d);
        }
    
    }
    
    
    public class Demo06 {
        public static void main(String[] args) {
            //操作数比较大的时候,注意溢出问题
            //JDK新特性,数字之间可以用下划线分割
            int money = 10_0000_0000;
            int years = 20;
            int total1 = money*years;    //-1474836480, 计算的时候溢出了
            long total2 = money*years;  //默认是int 转换之前已经存在问题了
            long total3 = money*((long)years); //先把一个数转换为long
            System.out.println(total1);
            System.out.println(total2);
            System.out.println(total3);
    
            //L l   尽量用大写字母表示 小写的容易引起误会
        }
    }
    
    

变量 常量

  • 注意事项
    1. 每个变量都有类型 类型可以是基本类型 也可以是引用类型
    2. 变量名必须是合法的标识符
    3. 变量声明是一条完整的语句,因此每一个声明都必须以分号结束

类变量

  • static

实列变量

局部变量

  • 在方法内
public class Demo08 {

    //类变量  static
    static double salary = 2500;
    //属性(变量)

    //实例变量:从属于对象,如果不进行初始化,这个类型的默认值 0  0.0
    // 布尔默认值是 false
    // 除了基本类型,其余默认值都是Null
    String name;
    int age;

    static {

    }
    //main方法
    public static void main(String[] args) {
        //局部变量:必须声明和初始化值
        int i = 10;
        System.out.println(i);

        //变量类型 变量名字 = new Demo08();
        Demo08 demo08 = new Demo08();
        System.out.println(demo08.age);
        System.out.println(demo08.name);

        //类变量 static
        System.out.println(salary);

    }


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


    }
}

常量

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

    }
}

运算符

package 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);
    }
}

package 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 不能转为 string
    }
}

  • 关系运算符
package Operator;

public class Demo03 {
    public static void main(String[] args) {
        //关系运算符返回结果为布尔值
         int a = 10;
         int b = 20;
         int c = 21;

        System.out.println(a>b);
        System.out.println(a<b);
        System.out.println(a==b);
        System.out.println(a!=b);
        System.out.println(c%a); // 取余  模运算
    }
}

  • 自增自减运算符 初识Math类
package Operator;

public class Demo04 {
    public static void main(String[] args) {
        //++  -- 自增 自减 (一元运算符)
        int a = 3;

        int b = a++;
        // a++ a = a + 1;  先赋值  再自增

        int c = ++a;
        // ++a a = a + 1; 先自增 再赋值

        System.out.println(a);
        System.out.println(b);
        System.out.println(c);

        //幂运算  2^3  很多运算,我们会使用一些工具类来操作
        double pow = Math.pow(3,2);
        System.out.println(pow);
    }
}

  • 逻辑运算符
package Operator;

//逻辑运算符
public class Demo05 {
    public static void main(String[] args) {
        // 与(and)   或(or)    非(取反)
        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++<4);
        System.out.println(d);
        System.out.println(c);
    }
}

  • 位运算符
package Operator;

public class Demo06 {
    public static void main(String[] args) {
        /*
        A = 0011 1100
        B = 0000 1101

        A&B 0000 1100
        A|B 0011 1101
        A^B 0011 0001
        ~B  1111 0010

        2*8 怎么运算最快  2*2*2*2
        位运算 效率极高!
        <<左移  乘2
        >>右移  除2

        0000 0000    0
        0000 0010    2
        0001 0000    16
         */
        System.out.println(2<<3);
    }
}

条件运算符

package Operator;

public class Demo07 {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;

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

        System.out.println(a);
        //字符串连接符  +  , string
        System.out.println(""+a+b);//1020
        
        System.out.println(a+b+"");//30
    }
}

扩展运算符(三元运算符)

package Operator;

import com.sun.javafx.css.CssError;

public class Demo08 {
    public static void main(String[] args) {
        // x ? y : z
        //如果x==true 则结果为y 否则结果为z

        int score = 80;
        String tybe = score<60? "不及格":"及格";//必须掌握
        //if
        System.out.println(tybe);
    }
}

优先级()

包机制

包的本质就是文件夹

  • 一般利用公式域名倒置作为包名
  • .* 会导入包下所有的类

JavaDoc

  • 生成一个帮助文档API
  • 参数信息
  1. @author 作者
  2. @version 版本号
  3. @since 指明需要最早使用的jdk版本
  4. @param 参数名
  5. @return 返回值情况
  6. @throws 异常抛出情况
package com.YuZhang.Operator.Base;

/**
 * @author YuZhang
 * @version 1.0
 * @since  1.8
 */

public class Doc {
    String name;

    /**
     * @author
     * @param name
     * @return
     * @throws Exception
     */
    public String text(String name) throws Exception{
        return name;
    }
}

  • 可加到方法上 也可加到类上

面向百度编程

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值