Java基础(下)类型转换,变量、常量,运算符、包机制、javaDoc

Java基础(下)

1.类型转换

小数的优先级大于整数

public class Dom01 {
    public static void main(String[] args) {
        //强制转换 由高到低
        int i = 128;
        byte b = (byte) i;//将i强制转换为int类型
        //强制转换样式如:byte b = (byte) i; (括号里为所要转换的类型)
        //至于为什么会输出 -128呢,
        // 原因是:当大容器如int,转换为小容器如byte时,会出现 内存溢出 的结果

        System.out.println(i);
        System.out.println(b);
        //输出结果为 128 \ -128

        //自动转换 由高到低,不需要声明什么
        int a = 128;
        double c = i;

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

        //输出结果一致,因为是double类型,所以带有小数点

        /*注意点
        1.不能对布尔值进行转换
        2。不能把对象类型转换为不相干的类型
        3。在把高容量转换到低容量的时候,强制转换,反之则不用操作
        4。转换的时候可能存在内存溢出,或者精度问题!
         */
        //举例,类型转换之后的精度丢失

        System.out.println((int)15.5f);//输出为15
        System.out.println((int)45.45);//输出为45

        char d = 'a';
        int f = d+1;
        System.out.println(f);
        System.out.println((char) f);//强制转换f为char类型
        //输出为98 \b
    }
}

public class Dom02 {
    public static void main(String[] args) {
        //操作比较大的数时,注意溢出问题
        //JDK7新特性,数字之间可以用下划线分割,下划线不会被读取
        int money = 10_0000_0000;
        int years = 20;
        int total1 = money * years;
        long total2 = money * years;
        long total3 = money * ((long)years);

        System.out.println(total1);//输出为-1474836480,原因是计算时溢出了
        System.out.println(total2);//输出为-1474836480,
        // 原因是money * years 默认为int,计算完之后才转换为long,所以在此之前就已经出问题了
        System.out.println(total3);//输出为200亿,先把一个数转化为long类型,就能解决问题了
    }
}

2.变量、常量

(1)变量

  • 变量是什么:就是可以变化的量!

  • Java是一种强类型语言,每个变量都必须声明其类型。

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

在这里插入图片描述

变量的命名规范
  • 所有变量、方法、类名:见名知意
  • 类成员变量:首字母小写和驼峰原则: monthSalary除了第一个单词以外,后面的单词首字母大写lastname lastName
  • 局部变量:首字母小写和驼峰原则
  • 常量:大写字母和下划线:MAX_VALUE
  • 类名:首字母大写和驼峰原则: Man,GoodMan方法名!首字母小写和驼峰原则: run(), runRun()
注意事项
  • 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
  • 变量名必须是合法的标识符。
  • 变量声明是一条完整的语句,因此每一个声明都必须以分号结束
变量的作用域
  • 类变量 写在类里面,需要加一个static的静态 关键词
  • 实列变量 写在类中间,不需要加
  • 局部变量 写在方法中
public class Dom04 {

    //类变量,需加一个static的关键字,从属于类,随类有随类无
    static double salary = 2500;

    //类里面除了可以定义一下方法,还能定义一些属性
    //属性:可以简单理解为变量

    //实列变量:作用域更大,从属于对象,比如类
    //如果不自行初始化,这个类型会有一个默认值
    //所有的数值类型初始化一般为0、0.0,字符串为u0000
    //布尔值默认是false
    //除了基本类型,其他的默认值都是null
    String  name;
    int age;


    //main方法
    public static void main(String[] args) {

        //局部变量,存在于方法或者语句块里,使用之前必须声明和初始化值
        int i = 10;
        System.out.println(i);

        //实列变量举例
        Dom04 dom04 = new Dom04();
        System.out.println(dom04.age);
        System.out.println(dom04.name);

        //类变量,加一个static的关键字
        System.out.println(salary);
    }

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

    }
}

(2)常量

  • 常量(Constant):初始化(initialize)后不能再改变值!不会变动的值。

  • 所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。

  • 常量名一般使用大写字符

  • 在这里插入图片描述

  • 通过 final 来定义常量

3.运算符

运算符优先级

在这里插入图片描述

Java语言支持的运算符

在这里插入图片描述

算数运算符

public class Dom06 {
    //二元运算符
    //ctrl+D 复制当前内容到下一行
    public static void main(String[] args) {

    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);
    System.out.println((double) a/b);
   // System.out.println(a/b);输出结果为0
   //原因是int类型不输出小数,所以要将一个属转换为double类型,注意不要溢出


    }
}
public class Dom07 {
    public static void main(String[] args) {
        long a = 123123123L;
        int b = 123;
        short c= 10;
        byte d = 8;
        double e = 2.0;

        System.out.println(a+b+c+d);//输出为long型
        System.out.println(b+c+d);//输出为int型
        System.out.println(c+d);//输出为int型
        System.out.println(b+e);//输出为125.0,为double类型
        

        //如果在操作中有一个数为long或者为double,该结果定为long或者为double类型
        //如果没有这两个,这结果默认为int类型

    }
}

关系运算符

public class Dom08 {
    public static void main(String[] args) {
        //关系运算符返回的结果:正确 错误 布尔值
        //if 判读
        int a = 10;
        int b = 20;
        int c = 22;

        //取余,模运算
        System.out.println(c%a);// c/a 21/10 = 2 余1 然后输出这个1

        System.out.println(a<b);//小于
        System.out.println(a>b);//大于
        System.out.println(a==b);//等于
        System.out.println(a!=b);//不等于
    }
}

自增,自减

public class Don09 {
    public static void main(String[] args) {
        //++ -- 自增,自减 一元运算符
        int a = 3;
        int b = a++;//执行完该代码之后,先给b赋值,然后自增,故b输出为3

        //b完成赋值,在此进行自增,即a=a+1,输出为4
        System.out.println(a);//输出为4

        //基于上面,a为4,c在此先自增,即a=a+1,然后在输出
        int c = ++a;//执行完该代码之前,先自增,然后给c赋值

        System.out.println(a);//输出为5
        System.out.println(b);//直接输出赋值b,输出为3
        System.out.println(c);//输出为5
        //自减类似
        
        //幂运算 2^3 等于 2*2*2 = 8 但是java没有^,
        //所以对于很多运算,我们会使用一些工具类来操作,举例:
        double pow = Math.pow(2, 3);
        System.out.println(pow);
    }
}

逻辑运算符

public class Dom10 {
    public static void main(String[] args) {
        //与&&(and) 或||(or) 非!(取反)
        boolean a = true;
        boolean b = false;

        System.out.println("a && b: "+(b&&a));//逻辑与运算:两个变量都为真,结果才为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);
        System.out.println(d);//输出为false
        System.out.println(c);//输出为5,因为该程序没有运行到c++那一步,c没被加一
        System.out.println("==========");
        int f = 5;
        boolean g = (f>4)&&(f++<4);
        System.out.println(g);//输出为false
        System.out.println(f);//输出为6,说明程序已经跑完
    }


}

位运算符

public class Dom11 {
    public static void main(String[] args) {
        /* 举例两个二进制的位
        A = 0011 1100
        B = 0000 1101
        不要轻易去使用位运算
        不要轻易去使用位运算
        不要轻易去使用位运算

        $ | ~  ^
        A&B = 0000 1100 与 比较相同则为该数,不同为0
        A|B = 0011 1101 或 有1,则是1
        A^B = 0011 0001 亦或 两个比较相同为0,不同为1
        ~ B = 1111 0010 非 与它原来的完全相反

        运算效率极高

        人2*8=16,计算机 2*2*2*2
        << 左移  相当于把数字*2
        >> 右移  相当于把数字/2

        0000 0000 0
        0000 0001 1
        0000 0010 2这个是计算机二进制对应的二
        0000 0011 3
        0000 0100 4
        0000 1000 8
        0001 0000 16这个是计算机二进制对应的16
         */
        System.out.println(2<<3);//输出2,往左移三位,结果为16
    }
}

扩展赋值运算符

public class Dom12 {
    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);//输出为30,此时a已经为30了。故以下运算出现50


        //字符串连接符 +
        System.out.println(a+b); //输出为50
        System.out.println(""+a+b); //输出为3020
        System.out.println(a+b+""); //输出为50

        System.out.println(a+b+""+a+b); //输出为503030
        //在+号运算符左右任意一番,只要出现了string类型的字符,后面其他的字符或者数组都会被改为string类型


    }
}

三元运算符

public class Dom13 {
    public static void main(String[] args) {
        //三元运算符
        //x ? y :z
        //如果x==true,则结果为y,否则结果为z

        int score = 80;
        String type = score < 60 ? "不及格" : "及格";
        //比if判断语句精简,开发常见,必须掌握
        System.out.println(type);
    }
}

4.包机制

为了更好地组织类,Java提供了包机制,用于区别类名的命名空间(如同文件夹原理)。包语句的语法格式为:

在这里插入图片描述

扩展

在这里插入图片描述

5.JavaDoc

jdk1.8官网帮助api文档链接:Overview (Java Platform SE 8 ) (oracle.com)

javadoc命令是用来生成自己API文档的

参数信息

  • @author作者名
  • @version 版本号
  • @since指明需要最早使用的jdk版本
  • @param参数名
  • @return返回值情况
  • @throws异常抛出情况

生成javaDoc文档

  1. 目标1路劲下,cmd进入dos窗口

  2. 输入javadoc 加参数 加 java 加该文件名

    参数-encoding UTF-8 让编码为utf-8 -charset UTF-8 让字符集编码为utf-8

    作用是减少乱码

  3. 生成一堆东西,点击index.html查看文档

    在这里插入图片描述在这里插入图片描述

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!感谢您的提问。根据您的问题,我理解您想要将一个Java项目的Javadoc转移到另一个Java项目的Javadoc中。如果我的理解有误,请让我知道。 要将一个Java项目的Javadoc转移到另一个Java项目的Javadoc中,您可以按照以下步骤操作: 1. 在源代码中为您想要转移的类和方法添加Javadoc注释。您可以使用以下示例注释格式: /** * 这是一个示例方法。 * @param param1 参数1 * @param param2 参数2 * @return 返回值 */ 2. 使用JavaDoc工具生成Javadoc文档。您可以使用以下命令生成Javadoc文档: javadoc -d [输出目录] [需要生成文档的Java文件] 例如: javadoc -d /home/user/myproject/doc -sourcepath /home/user/myproject/src com.example.myproject 这将生成一个名为index.html的Javadoc文档文件,可以在浏览器中查看。 3. 将生成的Javadoc文档复制到您想要转移的Java项目中。您可以将生成的Javadoc文档文件夹复制到您想要转移的Java项目的根目录下。 4. 在目标Java项目中使用Javadoc注释中的@see标签引用源Java项目的Javadoc文档。例如: /** * 这是一个示例方法。 * @param param1 参数1 * @param param2 参数2 * @return 返回值 * @see com.example.myproject.ExampleClass#exampleMethod */ 这将在Javadoc文档中为该方法添加一个“参见”链接,该链接指向源Java项目中的ExampleClass类和exampleMethod()方法。 希望这些步骤能帮助您将一个Java项目的Javadoc转移到另一个Java项目的Javadoc中。如果您有任何其他问题,请随时问我。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值