JAVA基础语法

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

1.1注释,并不会被执行

  • 单行注释,双斜杠//
  • 多行注释,/**/
  • 文档注释,/**然后点回车就出来了,这种有功能

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

注意:

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

2、数据类型

强类型语言:所有变量必须先要定义后才能使用

弱类型语言

2.1Java的数据类型分为两类

  • 基本类型

1.数值类型

整数类型:

  • byte:1个字符位:-128~127
  • short:2:-32768~32767
  • int:4:正负21亿
  • long:8

浮点类型:

  • float:4
  • double:8

字符类型:char

2.boolean类型: true & false

public class Demo01 {
    public static void main(String[] args) {
        //八大基本数据类型

//整数
        int num1 = 10; //最常用
        byte num2 = 20; 
        short num3 = 30;
        long num4 = 30L;//long类型要在数字后面加个L
        
//浮点数,小数
        float num5 = 50.1F; //float类要在后面加个F
        double num6 = 3.1415926535;
        
//字符
        char name = 'o';     //占2个字节,只能写一个字符,包括字母汉字符号
        
//布尔值
        boolean flag = true; //true or false
    }
}

字节 

  • 位(bit):计算机内部存储最小单位
  • 字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来表示
  • 1B(byte字节) = 8bit (位)
  • 字符:计算机中使用的字母、数字、字和符号
  • 1bit表示1位
  • 1Byte表示一个字节1B=8b
  • 1024B=1KB
  • 1024KB=1M
  • 1024M=1G
    public class Demo03 {
        public static void main(String[] args) {
            //整数拓展  进制   二进制   十进制    八进制    十六禁止
            int i = 10;
            int i2 = 010;//八进制0
            int i3 = 0x10;//十六进制0x   0~9  A~F
    
            System.out.println(i);
            System.out.println(i2);
            System.out.println(i3);
            System.out.println("===================================================================");
    
            //===========================================================================================
            //浮点数拓展?  银行业务怎么表示?钱
            //BIgDecimal 数学工具类
            //最好完全避免使用浮点数进行比较
            float f = 0.1f;
            double d = 1.0/10;
            double c=2;
            double w= 10/3;
            System.out.println(f==d);
            System.out.println(w);
    
            //==========================================================================================
            //字符拓展
            //==========================================================================================
            char c1 ='a';
            char c2 ='中';
            System.out.println(c1);
            System.out.println((int) c1);
            System.out.println(c2);
            System.out.println((int)c2);
            //所有的字符本质上还是数字
            //转义字符 Unicode表   \t \n \
            
            //=========================================================================================
            //布尔值拓展
    
        }
    }
    

3、类型转换

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

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

public class Demo02 {
    public static void main(String[] args) {
        int i =666;
        byte b =(byte)i;//内存溢出
        System.out.println(b);
        System.out.println(250);
        //强制转换(类型)变量者    高----低
        //自动转换   低----高
        /*
        * 注意点:
        * 不能对布尔值进行转换
        * 不能把对象类型转换为不相干类型
        * 把高容量转换为低容量的时候,强制转换
        * 转换的时候可能出现内存溢出,或者精度问题*/
        //===========================================================================================
        //操作比较大的数的时候,注意溢出问题
        //JDK7新特性,数字之间可以用下划线分割
        int money = 10_0000_0000;
        int years =20;
        int total1 =money*years;//计算时候溢出了
        long total2 =money*years;//默认是int转换之前已经出现问题了,两个是同一类型
        long total3 =money*((long)years);
        System.out.println(total3);
    }
}

4、变量、常量

4.1JAVA变量是程序中最基本的储存单元,其要素包括变量名、变量类型和作用域。

public class Demo04 {
    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 ="xiaoyu";
       char x='X';
       double pi=3.14;
    }
}

变量作用域

  •  类变量, static
  • 实例变量
  • 局部变量
    public class Demo05 {
        //类变量 static
        static double salary =2500;
        //属性:变量
        //实例变量从属于对象,类。如果不进行初始化,数字的默认值是0
        //布尔值,默认值是false
        //除了基本类型(8大类),其余的默认值都是null
        //main方法
        int age;
        public static void main(String[] args) {
            //局部变量,必须声明和初始化值
            int i =10;
            System.out.println(i);
            //变量类型、变量名字=new Demo08
            Demo05 demo05 =new Demo05();
            Demo04 demo04 =new Demo04();
            int add = demo05.add(900, 200);
            System.out.println(add);
            System.out.println(demo05.age);
            //类变量 static
            System.out.println(salary);
        }
        //其他方法
        public int add(int a,int b){
            int num=a+b;
            return num;
        }
    
    }
    

    4.2常量:constant,它的值被设定后,在程序运行过程中不允许改变

  • final 常量值=值;

  • final double   PI =3,14,常量名一般用大写字符

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

变量的命名规范:所有变量、方法、类名:见名知意

  • 类成员变量:首字母小写和驼峰原则:monthSalary
  • 局部变量:首字母小写和驼峰原则
  • 常量:大写字母和下划线
  • 类名:首字母大写和驼峰原则:Man, GoodMan
  • 方法名:首字母小写和驼峰原则:run(), runRun()

5、运算符

  • 算数运算符:+,-,*,/,%,++,--
    package operator;
    
    public class Demo01 {
        public static void main(String[] args) {
            //二元运算符
            int a =10;
            int b =20;
            int c =30;
            int d =40;
            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 Demo03 {
        public static void main(String[] args) {
            //关系运算返回的结果:正确,错误   布尔值
            int a=10;
            int b=20;
            int c=21;
            System.out.println(c%a);//取余数,模运算c除a商几余几,
            System.out.println(a>b);
            System.out.println(a<b);
            System.out.println(a==b);
            System.out.println(a!=b);
        }
    }
    

    自增自减 

    package operator;
    
    public class Demo04 {
        public static void main(String[] args) {
            //++,--   自增,自减,一元运算符
            int a=3;
            int b=a++;//执行完这行代码后,先给b赋值,再自增
            //a++代表   a=a+1
            System.out.println(a);
            System.out.println(b);
            //++a代表  a=a+1
            int c=++a;//执行完这行代码前,先自增,再给c赋值
    
            System.out.println(a);
            System.out.println(b);
            System.out.println(c);
    
            //幂运算2^3=2*2*2=8,很多运算使用工具类来操作
            double pow = Math.pow(2, 3);
            int i = Math.addExact(2, 3);
            System.out.println(i);
        }
    }
    

  • 赋值运算符:=
  • package operator;
    
    public class Demo02 {
        public static void main(String[] args) {
            long a=18374994991L;
            int b=1234;
            short c=100;
            byte d=1;
            System.out.println(a+b+c+d);//Long类型,意思是多个运算如果有一个是long,结果为long,double也是
            System.out.println(b+c+d);//int
            System.out.println(c+d);//int
        }
    }
    

  • 关系运算符:>,<,>=,<=,==,!=(不等于),instanceof
    package operator;
    
    public class Demo03 {
        public static void main(String[] args) {
            //关系运算返回的结果:正确,错误   布尔值
            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!=b);
        }
    }

  • 逻辑运算符:&&,||,!
    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));//两个变量都为真,结果为true
            System.out.println("a || b:"+(a||b));//两个变量有一个为真,结果就为true
            System.out.println("!(a && b:)"+!(a&&b));//如果是真则为假,假则为真
    
            //短路运算
            int c=5;
            boolean d=(c<4)&&(c++<4);//c<4已经是false了,后面就不执行了
            System.out.println(d);
            System.out.println(c);
    
        }
    }
    

  • 位运算符:&,|,^,~,>>,<<,>>>(了解)
    package operator;
    
    public class Domo06 {
        public static void main(String[] args) {
            /*
            * A=0011 1100
            * B=0000 1101
            * -----------------------------------------------------------------------------------
          * A&B 0000 1100           与
          * A|B 0011 1101           或
          * A^B 0011 0001           如果两个位置相同则为0,否则为1
          * ~B  1111 0011           取反
            */
    
            //2乘以8怎么运算最快   2*8=2*2*2*2=16
            /*<<左移    *2
              >>右移    /2
              0000 0000     0
              0000 0001     1
              0000 0010     2
              0000 0011     3
              0000 0100     4
              0000 1000     8
              0001 0000     16
              */
            System.out.println(2<<3);
        }
    }
    

  • 条件运算符? :
    package operator;
    //三元运算符
    public class Demo08 {
        public static void main(String[] args) {
            //x ? y:  z
            // 如果x==true,则结果为y,否则结果为z
            int score =50;
            String type= score <60 ?"不及格":"及格";//必须掌握
            //if
            System.out.println(type);
    }
    }

  • 扩展赋值运算符:+=,-=,*=,/=
    package operator;
    
    public class Demo07 {
        public static void main(String[] args) {
            int a=10;
            int b=20;
            a+=b;//a=a+b
            a-=b;//a=a-b
            System.out.println(a);
    
            //字符串连接符 +,String 如果字符串在前面会进行拼接,在后面会直接进行运算
            System.out.println(a+b);
            System.out.println(""+a+b);
            System.out.println(a+b+"");
        }
    }
    

6、包机制、JavaDoc

6.1包的本质就是文件夹,一般利用公司域名倒置作为包名

定义包package

导入包 import package1[.package2...].(classname|*);

6.2

  • @author作者名
  • @version版本号
  • @since指明需要最早使用的JDK版本
  • @param参数值
  • @return返回值情况
  • @throws异常抛出情况
    package operator;
    /**
     * @author Sherry
     * @version 1.0
     * @since 1.8
     * */
    public class Demo09 {
        String name;
    
        /**
         *
         * @param name
         * @return
         * @throws Exception
         */
        public String test(String name) throws Exception{
            return name;
        }
    }
    

     

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值