疯狂java讲义 第三章 数据类型和运算符

封装:将对象的实现按细节隐藏,通过公共的方法来暴露该对象的功能
继承:实现复用的手段,子类继承父类后,将获得父类的非私有属性及方法
多态:子类对象直接赋给父类变量,但运行时仍表现出子类的行为特征

API文档:说明了程序接口的文档

自写类的文档注释 快捷键为:ALT + SHIFT +J
(光标定在相应位置上才行,不然就是类注释了)

package Capter3;

/**
 * @author PENGSF4
 * @version 1.0
 * 
 *
 */

public class Notes {


    /**
     * 成员变量注释测试,将光标定在成员变量上,
     */
    public int weight;

    public Notes(int weight){
        this.weight=weight;
    }

    /**
     * 方法test1
     */
    public void test1() {}


    /**
     * 主程序入口
     */
    public static void main(String[] args){

    }


}

二、整数类型

package Capter3;

/**
* @author PENGSF4
* 本节介绍整数类型
*
*/
public class primitive_type {

public static void main(String[] args){

    System.out.println("------------------整数型--------------");

    /*
     * byte、short、int、long,都是整数类型,区别在于表数的范围
     * 默认为int
     */

    /*
     * 【注意为值,而不是类型为int的变量】
     * 如果将较小的值赋给byte、short类型的变量,ok
     * 如果将较小的值(int表示范围)赋给long变量,int类型会自动转换到long类型
     * 如果将较大的值(超出int表数范围)赋给long变量,须强制转换
     */

    byte a=56;
    long big_value=999999999999L;


    /*
     * 整数值的四种表示方式:十进制、二进制(0b\0B)、八进制(0)、十六进制(0x\0X)
     */
    int eight_value=031;
    int sixteen_value=0x13;


    System.out.println("------------------字符型--------------");

    /*
     * 字符型必须用单引号
     */
    char a_char='a';
    char enter_char='\r';//打印时直接为换行符

    //浮点型,默认为double,如果为float类型的变量就需要在数值后添加f

    /*
     * 自动类型转换:表数小的可转换为表数大的,反过来就不行(如指定了a为int,就不能赋值为类型为short的b)
     * 表达式类型的自动提升:整个算术表达式的数据类型自动提升到与表达式中最高等级操作数同样的类型
     */
    byte b=40;
    char c='a';
    int i=23;
    double d=0.314;

    double result=b+c+i+d;
    System.out.println(result);


}

}

四、运算符

package Capter3;

public class operator {

    public static void main(String[] args){

        /*
         * 整数/整数(不可为0)=整数(阶段取整),浮点数/浮点数(可为0,结果为无穷大)=浮点数(自然除数)
         * %为求余,整数%整数(不可为0),浮点数%浮点数(可为0,结果为NaN)
         */

        System.out.println("------------------整除及求余--------------");
        double a=5.2;
        double b=3.1;
        System.out.println("浮点数除:"+a/b+",浮点数求余:"+a%b);
        System.out.println(a/0);
        System.out.println(a%0);

        System.out.println(4/3);
        System.out.println(4%3);


        System.out.println("------------------自加与自减--------------");
        /*
         * ++a表示先执行+1,再放入表达式运算;a++表示先放入表达式运算,再执行+1
         */
        int c=5;
        int d=c++ + 6;
        System.out.println(d);//11,此时c=6
        int e=++c + 6;
        System.out.println(e);//13,此时c=7


        System.out.println("------------------位运算符--------------");
        /*
         * 位运算符,顾名思义就是处理二进制数的
         * &,位与,同时为1才返回1
         * |,位或,有一个为1即返回1
         * ~,位非,将操作数的每个位取反
         * ^,位异或,两个数相同为0,不同为1
         * <<,左移运算符;>>右移运算符;>>>无符号右移运算符(移动并截断补位)
         */




        System.out.println("------------------扩展的赋值运算符--------------");
        /*
         * +=、-+、/=、%=,*=,这些运算符可以使代码更加健壮
         */




        System.out.println("------------------逻辑运算符--------------");
        /*
         * 用于操作布尔型的变量或者常量
         * &&,&;||,|主要是短路与不短路的关系
         * !
         * ^,异或,相同为false,不同为true
         */
        int c1=5;
        int c2=10;
        if(c1>4 || c2++>10){
            System.out.println("短路,c1的值为:"+c1+",c2的值为:"+c2);//执行的是短路或,因此第一个为true便不执行第二个表达式
        }

        if(c1>4 | c2++>10){
            System.out.println("长路,c1的值为:"+c1+",c2的值为:"+c2);
        }




        System.out.println("------------------三目运算符--------------");
        /*
         * (expression) ? if-true-statement:if-false-statement;
         */
        String str=5>3 ? "5大于3":"5小于3";
        System.out.println(str);
    }

}

猜你喜欢

转载自blog.csdn.net/qq_41357131/article/details/81258366