• Java的基础内容02


    类型转换

    由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。

    低----------------------------------------------------->高

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

    (小数优先级高于整数)

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

    类型转换分两种

    • 强制类型转换,在需要转换的变量名前面加括号,括号里面写数据类型,一般强制转换是用来转换高到低的类型

      存在内存溢出的现象出现,要尽量避免这种情况出现,比如:

      int i = 128;
      byte b = (byte)i;
         

      这里的b就因为出现了内存溢出,所以输出的b应该是-128,

       

    • 自动类型转换,从低到高就是自动,什么都不用写就会自动转换

    注意点

    1. 他不能对布尔值进行转换

    2. 不能吧对象类型转换为不相干的类型

    3. 在吧高容量转换到低容量的时候用强制转换

    4. 转换的时候可能存在内存溢出,或者精度问题,比如小数变成整数

    5. JDK7新特性,数字之间可以用下划线_分割,可以靠这个来区分数字的位数,比如10_0000_0000

    6. int money = 10_0000_0000;
      int years = 20;
      long total = money*years;
       

      这里就因为超过int大小存在内存溢出的问题,但是因为前面是long,存在自动转换,但结果仍然是溢出的结果,这是因为total的计算是先计算里面两个int数的结果再转换的,改善的方法:

      long total2 = money*((long)years);

      这里先把里面的其中一个变成long类型,结果就能正常输出

     

    变量

    • 变量就是可以变化的量。

    • Java是强类型语言,没个变量你都必须额声明其类型。

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

    • 数据类型 变量名 = 值: 可以使用都好隔开来生命多个同类型变量,但不推荐,这样程序可读性很差

    变量作用域

    • 类变量:从属于类,和类会一起出来一起消失,类变量就是在前面加一个static,就能之间输出

    • 实例变量:在类里面方法外面,是从属于对象的,如果不自行初始化,会输出默认值,数值类型默认值是0或0.0,布尔值默认false,除了基本类型其他都是null,

    • 局部变量:在方法里的,在使用之前必须声明和初始化值,只在括号内有效

     

    变量命名规范

    • 所有变量、方法、类名:见名知意

    • 类成员变量:首字母小写和驼峰原则monthSalary

    • 局部变量:首字母小写和驼峰原则

    • 常量:大写字母和下划线MAX_VALUE

    • 类名:首字母大写和驼峰原则

    • 方法名:首字母小写和驼峰原则

     

    常量

    常量:初始化后不能再改变值!不会变动的值。

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

    final 常量名 = 值

    常量名一般用大写字母就行

    static和final的顺序无所谓,他们都是修饰符,不存在先后顺序,还有public等

     

    运算符

    Java语言支持的运算符

    • 算术运算符:+,-,*,/,%(模运算,取余数的意思),++,--

    • 复制运算符: =

    • 关系运算符:>,<,>=,<=,==(等于),!=(不等于),instanceof

    • 逻辑运算符:&&(与),||(或),!(非)

    • 位运算符:&,|,^,~,>>,<<,>>>

    • 条件运算符? :

    • 扩展赋值运算符:+=,-=,*=,/=

    注意

    • 在运算结果中有小数时,要注意数据类型

    • 用算数运算符输出结果,当多个数中有long类型,结果为long类型,如果没有,结果就为Int类型,同理如果有double结果就是double

    • 关系运算的返回结果,只有true或者false

    • 优先级要注意,括号优先级最高, https://www.cnblogs.com/chenmingjun/p/8417163.html 具体的表格从高到低

     

    运算符++(自增),--(自减)

    b=a++就代表先给b赋值,再执行a=a+1

    c=++a代表先将a自增,再给c赋值

    重点是二者执行时机不同,但要注意每次执行后a的值都会改变

     

    幂运算

    Math.pow(2,3)这个代表2^3,,

    很多运算我们会用工具来操作,Math是一种有用的类

     

    逻辑运算符

    与(and) 或(or) 非(取反)

    逻辑与运算:两个变量都为真,结果才为真(b&&a)

    逻辑或运算:两个变量有一个为真,其结果为真(a||b)

    取反:如果是真,则变为假,,如果是假则变为真!(a&&b)


    短路运算

    用与运算时,如果前一个为假,则不执行后面的直接输出,称为短路

    比如用

    int c = 5;
    boolean d = (c<4)&&(c++<4);

    这样输出就会发现d的结果是false但 c 仍然是5

     

    位运算

    A = 0011 1100

    B = 0000 1101

    A&B 与运算 上下都是1才得1 =0000 1100

    A|B或运算 如果对应位都是0都是0,如果有1直接为1 =0011 1101

    A^B 异或 如果上下两个相同就是0,否在就是1 = 0011 0001

    ~B 取反 0对应1,1对应0 =1111 0010

     

    2*8计算机最快运算,这样可以变成2 * 2 *2 *2

    <<左移 >>右移

    用java输出 2<<3就是16,意思是把2左移3位

    左移就相当于*2,右移相当于/2

    这样算效率极高

     

    扩展运算符

    a+=b的意思就是a=a+b,a-=b就是a=a-b

     

    字符串连接符

    在+加号运算符两侧,只要有一方存在String类型,会把其他操作数都转化成字符串再连接

    但是如果字符串在+号后面,而+号前面另外有计算,会从前边开始先计算,再连接

     

    三元运算符

    x ? y : z

    如果x==true,则结果为y,否在结果为z,比如

    int score = 80;
    String type = score<60 ?"不及格""及格"
     

    这里就会输出及格

     

    包机制

    包的本质就是文件夹。

    为了更好地组织类,Java提供了包机制,用于区别类名的命名空间

    一般利用公司域名倒置作为包名:比如com.kuangstudy.blog

    为了能使用某一个包的成员,我们需要在Java的程序中明确导入该包,使用”import“语句可完成此功能。在导入最后加.*这个通配符,就能把包下面的都导入

    package必须放在代码最上面,导入的包里名字别重复

     

    JavaDoc

    JavaDoc命令是用来生成API文档的

    在线API帮助文档 https://docs.oracle.com/javase/8/docs/api/

    参数信息

    • @author 作者名

    • @version 版本号

    • @since 知名需要最早使用的jdk版本

    • @param 参数名

    • @return 返回值情况

    • @throws 异常抛出情况

    package com.kuang.base;

    /**
    * @author rongzhi
    * @version 1.1
    * @since 1.8
    */
    public class Doc {
       String name;

       /**
        * @author rongzhi
        * @param name
        * @return
        * @throws Exception
        */

       public String test(String name) throws Exception{
           return name;
      }
    }

    这样写完后打开文件所在位置,打开cmd,输入javadoc -encoding UTF-8 -charset UTF-8 Doc.java(中间这些参数是为了能多显示点中文,少出现点乱码)

    虽然会有几个警告但仍然能顺利输出,结束后原来的文件夹里多了很多文件,打开index.html,就能看到自动为我们生成的API文档。

    使用IDEA生成JavaDoc文档

    首先选择要生成JavaDoc的文件,

    然后在最上方工具栏的Tools下选择Generate JavaDoc...,

    进去后弹出下图,

     

     

    点选file,在Output directory后面表示存放位置,在下面其他指令(other command)那里打上如图的代码,不要漏掉空格。

    这样就能输出JavaDoc文档

  • 相关阅读:
    PostgreSQL 匹配字符串前缀
    Postgresql流复制+pgpool实现高可用
    PostgreSQL 使用Docker搭建流复制测试环境
    PostgreSQL 基于Docker的多实例安装
    PostgreSQL 基于日志的备份与还原
    PostgreSQL 利用pg_upgrade升级版本
    PostgreSQL 安装
    简单推荐系统的SQL实现
    读书笔记:集体智慧编程(1)
    Linux 光速入门
  • 原文地址:https://www.cnblogs.com/jimmykane/p/12556207.html
Copyright © 2020-2023  润新知