吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 964|回复: 8
收起左侧

[Java 转载] Day06——常量变量、运算符、包机制、JavaDoc

[复制链接]
明天也有晚霞嘛 发表于 2021-3-14 00:08

Day06——常量变量、运算符、包机制、JavaDoc

变量

变量:可以变化的量。

Java是一种强类型语言,每个变量都必须声明其类型。 Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。

变量声明格式:(基本、引用)数据类型    变量名 = 值(可以使用逗号隔开来声明多个同类型变量)

int a, b, c; // 声明三个int型整数:a、 b、c
int d = 3, e = 4, f = 5; // 声明三个整数并赋予初值
byte z = 22; // 声明并初始化 z
String s = "runoob"; // 声明并初始化字符串 s
double pi = 3.14159; // 声明了双精度浮点型变量 pi
char x = 'x'; // 声明变量 x 的值是字符 'x'。

变量依据作用域划分:类变量、实例变量、局部变量

  1. 类变量(静态变量: static variable):独立于方法之外的变量,用 static 修饰。

    ​      从属于类,生命周期伴随始终,从的加载到卸载。

  2. 实例变量(成员变量:member variable):独立于方法之外的变量,不过没有 static 修饰。

    ​      方法外部、的内部定义的变量。 从属于对象,生命周期伴随对象始终。

  3. 局部变量(lacal variable):类的方法中的变量。

    ​      方法或语句块内部定义的变量。生命周期是从声明位置开始到" } "为止。

    【注】局部变量没有默认值,在使用前必须先声明和初始化(赋初值)。

    public class Variable{
    static int allClicks=0; // 类变量
    String str="hello world"; // 实例变量
    
       public void method(){
        int i =0; // 局部变量
    }
    }

常量

常量(Constant):初始化后其值不会改变!

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

常量声明格式final  常量名 = 值。

例:

final double PI = 3.1415926;
final String NAME = "Crown"; 

变量命名规范:

  1. 类成员变量:首字母小写和驼峰原则 : monthSalary
  2. 局部变量:首字母小写和驼峰原则
  3. 常量:全大写字母和下划线:MAX_VALUE
  4. 类名:首字母大写和驼峰原则: Man, GoodMan
  5. 方法名:首字母小写和驼峰原则: run(), runRun()

运算符(operator)

Java 语言支持如下运算符:

  • 算术运算符:+,-,*,/,%,++,--
  • 赋值运算符:=
  • 关系运算符: >,<,>=,<=,==,!=,instanceof
  • 逻辑运算符:&&,||,!
  • 位运算符:&,|,^,~ , >>,<<,>>> (了解!!!)
  • 条件运算符:      ?:
  • 扩展赋值运算符:+=,-=,*=,/=

1、一元运算符

一个操作数。

自增(++)自减(--)运算符是一种特殊的算术运算符,分为前缀和后缀两种。

public static void main(String[] args) {
    int a = 3;
    int b = a++; //执行完后,b=3。先给b赋值,再自增。
    int c = ++a; //执行完后,c=5。先自增,再给b赋值。
}

2、二元运算符

两个操作数。

public static void main(String[] args) {
    int a = 10;
    int b = 20;
    int c = 25;
    int d = 25;
    System.out.println("a + b = " + (a + b) );//a + b = 30
    System.out.println("a - b = " + (a - b) );//a - b = -10
    System.out.println("a * b = " + (a * b) );//a * b = 200
    System.out.println("b / a = " + (b / a) );//b / a = 2
} 
  • 整数运算时,有long型,结果为long,

    ​                       没有long型,结果为int。

  • 浮点运算时,两个操作数有一个为double, 则结果为double。

    ​                       只有两个操作数都是float, 则结果才为float。

  • 关系运算符, >,<,>=,<=,==,!=,instanceof,返回布尔值(true、false)

  • 取模运算(取余数):

    ​       其操作数可以为浮点数,一般使用整数。如:5.9 % 3.9 = 2.000000004

使用BigDecimal可避免其结果产生误差。

public static void main(String[] args) {
    System.out.println(9 % 4); //1
    System.out.println(-9 % -4); //-1 ; 负数%负数=负数
    System.out.println(-10 % 4); //-2 ; 负数%正数=负数
    System.out.println(9 % -4); //1 ; 正数%负数=正数
}
  • 逻辑运算符

    ​   逻辑与 &&,同真为真。

    ​   逻辑或 ||,一真则真。

    ​   逻辑非 !。

    public static void main(String[] args){
    int a = 5;//定义一个变量;
    boolean b = (a<4)&&(a++<10);
    System.out.println("使用短路逻辑运算符的结果为"+b);
                        //使用短路逻辑运算符的结果为false
    System.out.println("a的结果为"+a);
    }                     //a的结果为5

    ​     该程序使用到了短路逻辑运算符(&&),首先判断 a<4 的结果为 false,则 b 的结果必定是 false, 所以不再执行第二个操作 a++<10 的判断,所以 a 的值为 5。

    ​       逻辑与和逻辑或采用短路的方式。从左到右计算,逻辑与只要有一个为false, 则直接返回false;逻辑或只要有一个为true, 则直接返回true;这时候就不会再判断 第二个操作了。

位运算符

位运算符用来对二进制位进行操作

  A = 0011 1100
  B = 0000 1101
  ================
  A & B = 0000 1100
  A | B = 0011 1101
  A ^ B = 0011 0001
  ~ A = 1100 0011
操作符 描述 例子
& 按位与,如果相对应的位都是1,则结果为1,否则为0 (A&B)= 12,即0000 1100
| 按位或,如果相对应的位都是0,则结果为0,否则为1 (A|B)= 61,即0011 1101
^ 按位异或,相对应的位值相同,则结果为0,否则为1 (A^B)= 49,即0011 0001
~ 按位取反运算符,即0变成1,1变成0。 (~A)= -61,即1100 0011
<< 按位左移运算符,左操作数按位左移右操作数指定的位数。 A << 2 = 240,即1111 0000
>> 按位右移运算符,左操作数按位右移右操作数指定的位数。 A >> 2 = 15,即1111
>>> 按位右移补零操作符,左操作数按位右移右操作数指定的位数,移动得到的空位以0填充。 A >>> 2 = 15,即0000 1111

左移一位相当于乘2,右移一位相当于除2取商。

【面试题拓展】2*8怎样运算效率最快?

public static void main(String[] args) {
    System.out.println(2 << 3);
}

​             2*8怎样运算效率最快

扩展运算符

运算符 用法举例 等效表达式
+ = a += b a  =  a + b
- = a -= b a  =  a - b
* = a *= b a  =  a * b
/ = a /= b a  =  a / b
% = a %= b a  =  a % b

3、三元条件运算符(?:)

三目条件运算符,语法格式:

x ? y : z;

其中x为boolean类型表达式,先计算x的值。若x为真,则结果为y,否则为z。

例:

public static void main(String[] args) {
    int score = 80;
    String type = score < 60 ? "不及格" : "及格";
    System.out.println("type= " + type);
}

包机制(package)

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

一个包(package)可以定义为一组相互联系的类型(类、接口、枚举和注释),为这些类型提供访问 保护和命名空间管理的功能。

包的作用

1、把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。

2、如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类 的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可 以避免名字冲突。

3、包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。 Java 使用包(package)这种机制是为了防止命名冲突,访问控制,提供搜索和定位类(class)、接 口、枚举和注释等。

包语句的语法格式为:

package pkg1[.pkg2[.pkg3...]];

例:,一个Something.java 文件

package net.java.util;
    public class Something{
...
}

那么它的路径应该是 net/java/util/Something.java 这样保存的。 package(包) 的作用是把不同的 java 程序分类保存,更方便的被其他 java 程序调用。

以下是一些 Java 中的包:

java.lang-打包基础的类

java.io-包含输入输出功能的函数

开发者可以自己把一组类和接口等打包,并定义自己的包。完成类的实现之后,将相关的类分组,可以让其他的编程者更容易地确定哪些类、接口、枚举和 注释等是相关的。

由于包创建了新的命名空间(namespace),所以不会跟其他包中的任何名字产生命名冲突。使用包这种机制,更容易实现访问控制,并且让定位相关类更加简单。

创建包

创建包的时候,你需要为这个包取一个合适的名字。之后,如果其他的一个源文件包含了这个包提供的 类、接口、枚举或者注释类型的时候,都必须将这个包的声明放在这个源文件的开头。

包声明应该在源文件的第一行,每个源文件只能有一个包声明,这个文件中的每个类型都应用于它。

如果一个源文件中没有使用包声明,那么其中的类,函数,枚举,注释等将被放在一个无名的包 (unnamed package)中。

一般利用公司域名倒置作为报名; 例如:

www.baidu.com 包名:com.baidu.www

bbs.baidu.com 包名:com.baidu.bbs

blog.baidu.com 包名:com.baidu.blog

import 关键字

为了能够使用某一个包的成员,我们需要在 Java 程序中明确导入该包。使用 "import" 语句可完成此功能。

在 java 源文件中,类文件中可以包含任意数量的 import 声明,import 声明应位于 包(package) 声明之后,类的声明之前,其语法格式为:

import package1[.package2...].(classname|*);

如果在一个包中,一个类想要使用本包中的另一个类,那么该包名(package)可以省略。

如果要用到其他包下的类,就必须要先导包(import)!

用 import 关键字引入,使用通配符 "*" , 导入io包下的所有类!

import java.io.*;

【不建议这样使用,因为会全局扫描,影响速度!】

JavaDoc

JavaDoc是一种将注释生成HTML文档的技术,生成的HTML文档类似于Java的API,易读且清晰明了。

javadoc是Sun公司提供的一个技术,它从程序源代码中抽取类、方法、成员等注释形成一个和源代码配套的API帮助文档。

/** 这是一个Javadoc测试程序
 * home.php?mod=space&uid=686208 明天也有晚霞嘛
 * home.php?mod=space&uid=1248337 1.0
 * home.php?mod=space&uid=441028 1.5
 * */
public class HelloWorld {
    public String name;
    /**
     * home.php?mod=space&uid=952169 name 姓名
     * home.php?mod=space&uid=155549 返回name姓名
     * @throws Exception 无异常抛出
     * */
    public String function(String name) throws Exception{
        return name;
    }
}

以 /* 开始,以 / 结束。

@author 作者名

@version 版本号

@since 指明需要最早使用的jdk版本

@param 参数名

@return 返回值情况

@throws 异常抛出情况

命令行生成JavaDoc

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

使用方式:使用命令行在目标文件所在目录输入javadoc +文件名.java。例如:

命令行打开到文件指定路径,输入javadoc -encoding UTF-8 -charset UTF-8 HelloWorld.java

-encoding UTF-8 -charset UTF-8
//解决GBK乱码问题,在中间添加编码设置

此时HelloWorld.java储存路径内产生的index.html文件,即为目标文件(文档注释)。

IDEA生成JavaDoc

IDEA生成JavaDoc

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
为之奈何? + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

言却 发表于 2021-3-14 00:13
支持 有点尚硅谷教程的感觉?
 楼主| 明天也有晚霞嘛 发表于 2021-3-14 00:20
言却 发表于 2021-3-14 00:13
支持 有点尚硅谷教程的感觉?

不至于不至于,我在b站学的java,目前还在坚持hhhhhhhhh
头像被屏蔽
一只小木木 发表于 2021-3-14 00:21
论坛神仙 发表于 2021-3-14 00:35
学习一下
wylksy 发表于 2021-3-14 07:27
感谢您的分享,辛苦了
Cassandra 发表于 2021-3-14 07:51
好多好东西啊,大爱
wobzhidao 发表于 2021-3-14 08:17
这个软件确实不错的啊
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-10 18:35

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表