zoukankan      html  css  js  c++  java
  • Java语法基础

    一、注释

      java注释用来解释代码的作用,可以增强代码的可读性。在javac编译的时候,不会编译注释。

      单行注释:// 注释一行

      多行注释:/* */ 可以注释多行

      文档注释:/** */可以注释多行,一般写在类、方法、成员变量上方,通过javadoc命令,可以将注释内容生成文档。

      注意:多行注释可以嵌套单行注释,不能嵌套多行注释,单行注释不能嵌套多行注释。

    二、标识符

      标识符就是给类、方法、变量等取的名字。

      规则:

    1. 只能由 数字、字母、_(下划线)、$(美元符)组成,但是数字不能开头。(其实中文、日文也可以,但是不要用)
    2. 不能使用java关键字(已经被赋予特殊含义)、保留字(将来可能被赋予特殊含义)作为标识符
    3. 不建议使用java中已经定义好的类作为我们的类名
    4. 建议:使用驼峰式写法;类名首字母大写、方法名变量名首字母小写。如:类UserName;方法getUserName();变量userName

    三、变量

      变量即是一个容器,可以保存数据,在同一时间只能保存一个数据。

      步骤:

    1. 声明变量 :数据类型 变量名;如 int age;
    2. 给变量赋值:可以先定义在赋值;也可以声明的同时赋值 ;
    3. 使用数据:可以打印;赋给另一个变量;参与运算;作为参数传递

      注意:

    class Demo {
        static int a;
        a=2;//报错,在声明成员变量时,要么声明的同时赋值,要么在方法中赋值,在类中不能这样操作
        public static void main(String[] args) {
            System.out.println(a);
        }
    }

      分类:成员变量:声明在类中,如果没有初始化,系统会分配默认值,作用范围是整个类

         局部变量:声明在方法、形参、代码块中,使用前必须初始化,作用范围是局部区域(如:方法内部),且只能声明的变量下方使用

    四、基本数据类型

      8种基本数据类:byte、short、int、long、float、double、char、boolean

      整数型:

        byte:1byte

        short:2byte

        int:4byte(默认类型)

        long:8byte;定义时在数字后方加L,否则是默认的int类型通过隐式类型转换成long型

      浮点型:

        float:4byte;定时时在数字后加F,否则是默认的double类型,将报错无法从高精度赋值给低精度类型

        double:8byte(默认类型)

      字符型:char 2byte (没有负数,0~到65535,默认字符空,即u0000,注意转义字符的使用“ ”表示回车换行)

      布尔型:1bit,true 和 false(默认),注意:不能当做0和1参与运算

      注意:a+b做某种运算,如果a、b中有double,结果类型就是double;如果有float,结果类型就是float;如果有long,结果类型就是long,除此之外都是int(byte、short、char、int)

    五、数据类型转换

      byte    short (char)   int   long  float  double

      ------从左到右,精度由低到高------------>

      隐式类型转换:精度低的类型将值赋给精度高的类型,如double dou=10;int型的值赋给byte,short,char,并且不超过他们的范围时,如:byte b=10;char c=99;

      强制类型转换:将精度高的类型的值赋给精度低的,有溢出风险,溢出时不断进位,直到该类型能容纳该数据。如:int a=10;byte b=(byte)a;

    六、运算符

      赋值运算符:= += -=  *= /= %=

        注意:

    class Demo {
        public static void main(String[] args) {
            //byte by=1;
            //by=by+1;//报错,不能将高精度int,赋给低精度byte
            by+=1;//这种方式会自动的强制类型转换,有点像自增自减也不会报错
            System.out.println(by);
        }
    }

      算数运算符:+ - * / %(取余) 注意:“+”两边至少有一边出现字符串时,“+”将作连接符使用,左边有运算会进行运算,右边不会参加运算,直接连接(除非使用()提升优先级)

      自增自减运算符:++ --

        a++:第一步:将a的值取出赋给a++这个整体;第二步:将a的值加1

        ++a:第一步:将a的值加1;第二步将a的值取出赋给++a这个整体

        注意:

    class Demo2 {
        //这是考题,但是实际开发中不能这样写
        public static void main(String[] args) {
            int a = 3;
            a = a++;
            System.out.println("a="+a);  //3 
            int b = 3;
            b = ++b;
            System.out.println("b="+b);   // 4
    
            byte c=1;
            c=c++;//没有报错,按理说不能由高精度int,赋给低精度byte,
            //所以推测这里应该是自动进行了强制类型转换
            System.out.println(c);
        }
    }

      比较运算符:== 、!=、>、<、>=、<=、instanceof(判断一个对象是否是某种类型);比较出来的结果是布尔类型

        注意:“==”比较基本数据类型比较的是值,比较引用数据类型时比较两个对象的地址

           instanceof不能用来判断基本数据类型

      逻辑运算符:&、 &&(左边为false短路)、 |、 ||(左边为true短路)、 !

      位运算符:&、|、~(取反)、 ^(异或)、 >>、  <<

        注意:~(取反)公式是:-(值+1),例如~3=4、~-4=3

           n<<m  -->  n*2^m:如果是整数,右边补0;如果是负数右边补1

           n>>m  -->  n/2^m:如果是正数,左边补0,;如果是负数左补1;

           n>>>m  -->  n/2^m:无符号右移,左边永远补0,所以n为负数没有意义

      三元运算符:语法格式:X ? Y : Z

        注意:X为布尔值或布尔表达式,只有YZ类型相同时,结果才能被接收;YZ可以是不同类型,但只可以被打印输出;

            三目运算符可以嵌套使用:如(a<b?a:b)?c(a<b?a:b):c;//求三个数的最小值

    //求三个数的最小值
    public
    static int getMin(int a,int b,int c){ int min=a<b?a:b;//获取a、b最小值 min=min<c?min:c;//将a、b中最小值和c比较 return min; }
  • 相关阅读:
    函数指针Demo
    设计模式笔记
    Simple Factory 模式
    百度API操作实例
    如何发邮件不被认定为垃圾邮件的技巧
    DateTimePicker中自定义时间或日期显示格式
    取得指定月份的天数
    DataGridView中的内容太长时换行显示
    Numericupdown控件value值的非空判断
    C#中用SQL语句CreatTable
  • 原文地址:https://www.cnblogs.com/zwcnblog/p/9804040.html
Copyright © 2011-2022 走看看