• Java基础语法(下)


    学习资料

    b站狂神说: https://www.bilibili.com/video/BV12J41137hu

    类型转换

    强制转换

    /**
     * @ProjectName: JavaSE
     * @PackageName: PACKAGE_NAME
     * @Author: zy7y
     * @Date: 2020/8/14 上午10:17
     * @Description: 类型转换; 语法 (类型)变量
     */
    public class TypeConversion {
        // 由低至高
        // byte -> short,char -> int -> long -> float -> double
    
        public static void main(String[] args) {
            int intValue = 128;
            // int 转为byte需要强转,高转底,会出现内存溢出,精度丢失
    //        byte byteValue = intValue;
            byte byteValue = (byte)intValue;
            System.out.println(byteValue); // -128
    
            // 底转高,将自动进行转换
            double doubleValue = intValue;
            System.out.println(doubleValue); // 128.0
    
    
            // 等级 一致时 不需要进行转换(char类型除外)
            short shortValue = byteValue;
            System.out.println(shortValue);
    
            // 内存溢出,及解决实例
            // JDK7新特性,数字之间可以使用下划线分割
            int money = 10_0000_0000;
            int years = 20;
            int total = money * years;// -1474836480 内存溢出
            System.out.println(total);
    
            //解决内存溢出;将表达式中某一内容,转成高点的类型
            long total1 = (long)money * years;
            System.out.println(total1); // 20000000000
    
        }
    }
    

    变量

    /**
     * @ProjectName: JavaSE
     * @PackageName: PACKAGE_NAME
     * @Author: zy7y
     * @Date: 2020/8/14 上午10:37
     * @Description:
     * 定义变量; 语法; 类型 变量名 = 值
     * 局部变量:定义在方法中的变量,必须声明和初始化值
     * 类变量:定义在类中,使用static修饰,属于类
     * 实例变量:定义在类中
     * 常量:final 类型 常量名
     */
    public class Variable {
        // 常量
        static final double PI = 3.14;
    
        // 类变量: static, 属于类
        static String job = "软件测试";
    
        // 实例变量:属于对象
        String adder;
    
        public static void main(String[] args) {
            // 局部变量:方法里的变量必须声明和初始化值
            String name = "小明";
            char sex = '男';
            int age = 23;
            double height = 1.57;
            System.out.println(name +',' + sex+',' + age+',' + height + 'm');
    
            // 使用实例变量
            Variable variable = new Variable();
            System.out.println(variable.adder);
    
            // 使用类变量
            System.out.println(job);    // 当前类使用
            System.out.println(Variable.job); // 其他类可以这样使用
    
            System.out.println(Variable.PI);
        }
    }
    

    运算符

    算术运算符

    package operator;
    
    /**
     * @ProjectName: JavaSE
     * @PackageName: operator
     * @Author: zy7y
     * @Date: 2020/8/14 上午10:58
     * @Description: 算术运算符
     */
    public class BaseOperator {
        public static void main(String[] args) {
            // ctrl + d ; 复制当前行到下一行
            int a = 10;
            int b = 20;
            int c = 30;
            int d = 40;
            System.out.println(a + b);
            System.out.println(c - b);
            System.out.println(b * d);
            System.out.println(d / a);
          	// 取余数:模运算
            System.out.println(c % a);
            
            // 自动升级
            double e = 23;
            System.out.println(e + a); //结果类型将自动升级成double
        }
    }
    

    自增、自减运算符

    package operator;
    
    /**
     * @ProjectName: JavaSE
     * @PackageName: operator
     * @Author: zy7y
     * @Date: 2020/8/14 上午11:07
     * @Description: 自增、自减
     */
    public class SelfCalculation {
        public static void main(String[] args) {
            int intValue = 3;
    
            // 自增
            int selfCalculation = intValue++; // intValue = intValue + 1, 先赋值,再自增执行intValue = intValue + 1
            System.out.println(selfCalculation); // 3
    
            int intValue1 = 3;
            int selfCalculation1 = ++intValue1; // intValue = intValue + 1,先运算再赋值,
            System.out.println(selfCalculation1); // 4
    
            // 自减
            System.out.println(intValue); // 4
            selfCalculation = intValue--;
            System.out.println(selfCalculation); // 4
    
            System.out.println(intValue1); // 4
            selfCalculation1 = --intValue1;
            System.out.println(selfCalculation1); // 3
    
            // 次方运算
            System.out.println(Math.pow(2,3));
    
        }
    }
    

    逻辑运算符

    package operator;
    
    /**
     * @ProjectName: JavaSE
     * @PackageName: operator
     * @Author: zy7y
     * @Date: 2020/8/14 上午11:16
     * @Description: 逻辑运算符
     */
    public class LogicalOperators {
        public static void main(String[] args) {
            boolean booleanTrue = true;
            boolean booleanFalse = false;
    
            // 与运算:&&, 两个变量值都为真,结果才为true
            System.out.println(booleanTrue && booleanFalse); // false
    
            // 或运算;两个变量有一个为真,结果就为true
            System.out.println(booleanFalse || booleanTrue); // true
    
            // 非运算;如果为真,结果就是假,如果为假,结果就是真
            System.out.println(!(booleanTrue || booleanFalse)); // false
        }
    }
    

    位运算符

    package operator;
    
    /**
     * @ProjectName: JavaSE
     * @PackageName: operator
     * @Author: zy7y
     * @Date: 2020/8/14 上午11:23
     * @Description: 位运算符; 二进制使用
     */
    public class BitOperation {
        public static void main(String[] args){
            /*
            * A = 0011 1100
            * B = 0000 1101
            *
            * & 与, | 或, ^异或, ~取反
            * A & B : 如果两位都是1才为1否则为0 , 0000 1100
            * A | B : 如果有一位为1 结果就为1, 0011 1101
            * A ^ B : 如果相同为0,否则为1, 0011 0001
            * ~B    : 如果为0变为1,1变为0 :1111 0010
            *
            * << : * 2
            * >> : / 2
            * */
            // 0000 0001 : 十进制为1, 0000 0010 : 十进制为2 0000 0100:十进制为4,0000 1000 8, 结论左移动一位 * 2
            // 转换成2进制; 0000 1000  右移2位 :0000 0010
            System.out.println(8 >> 2); // 2
            // 转换成2进制; 0000 1000 左移2位:0010 0000
            System.out.println(8 << 2); // 16
    
        }
    }
    

    三元运算符

    package operator;
    
    /**
     * @ProjectName: JavaSE
     * @PackageName: operator
     * @Author: zy7y
     * @Date: 2020/8/14 上午11:41
     * @Description: 三元运算符; 语法 x ? y :z;  表达式 ? 为true时执行: 为false执行
     */
    public class TernaryOperation {
        public static void main(String[] args) {
            int score = 50;
            String type = score < 60 ? "不及格" : "及格";
            System.out.println(type);
        }
    }
    

    包机制

    命名:一般使用公司域名倒置;com.zy7y.cnblogs

    // 导入包下所有类(.class文件)
    import com.zy7y.cnblogs.operator.*;
    

    JavaDoc生成文档

    javadoc -encoding UTF-8 -charset UTF-8 Variable.java 
    

    Idea 生成Javadoc:https://blog.csdn.net/cai454692590/article/details/85286139

    作者:zy7y
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利。
  • 相关阅读:
    JDK1.8源码阅读系列之四:HashMap (原创)
    二叉搜索树Java实现(查找、插入、删除、遍历)
    MySQL索引的索引长度问题
    JDK1.8源码阅读系列之三:Vector
    JDK1.8源码阅读系列之二:LinkedList
    JDK1.8源码阅读系列之一:ArrayList
    Java synchronized关键字用法(清晰易懂)
    两栏布局,左边定宽,右边自适应
    css使子元素在父元素居中的各种方法
    基于Vue2、WebSocket的仿腾讯QQ
  • 原文地址:https://www.cnblogs.com/zy7y/p/13501446.html
Copyright © 2020-2023  润新知