运算符总结和运行doc生成文档
- 算术运算符:+(加),-(减),*(乘),/(除),(模运算)%(取于)。++(自增),–(自减)
- 赋值运算符:= (赋值)
- 关系运算符:>(大于),<(小于),>=(大于等于),<=(小于等于),==(等于),!=(不等于),!=i n s t a a n c e o f
- 逻辑运算符:&&(与),||(或),!(非)
- 位运算符:&,^,|, ~,>>(往左移一位(小于) *2 (乘以2)),<<(往右移一位(大于) /2 (除以2)) ,>>>(先了解!!!)
- 条件运算符:? :(三元运算符)
- 拓展赋值运算符:+=(//意思是 a= a + b),-=(//意思是 a = a - b), /=(//意思是 a = a / b);
算术运算符篇
- +(加)
- -(减)
- *(乘)
- /(除)
//ctrl + d : 复制当前到下一行
//他们是 二元运算符
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);//0.5 算出来有问题,得要强转
long a = 123123123L;
int b = 123;
short c = 10;
byte d = 8;
//有一个数为long,结果为long
System.out.println(a+b+c+d); //long类型
//如果有一个数为double,那么他这个结果一定为double
//没有long,结果都为Int
//cast意思转换
System.out.println(b+c+d); //Int类型
System.out.println(c+d); //Int类型
System.out.println((c+d));
- **%(模运算,取于)**
//取余,模运算
System.out.println(c%a); //取于 c / a 21 / 10 = 2 ... 1
System.out.println("===================-=");
int d = 1;
int f = 2;
System.out.println(d%f);
System.out.println("==================");
int g = 2;
int e = 3;
System.out.println(g%e);
System.out.println(e%g);
- ++(自增)
- –(自减)
// ++ , -- 自增 ,自减 是一元运算符
int a = 3;
int b = a++; //a++ a = a + 1
int c = ++a; //++a a = 2 + a
System.out.println(a);
System.out.println(b);
System.out.println(c);
/* a++ 是先返回a的值,再执行++运算。++a 是先执行++运算,在返回a的值。
a++代表先取值,后运算。
++a代表先运算,后取值。
a=1;
如b = a++;
得b = 1
若b = ++a;
得b = 2
*/
//拓充 幂运算 这里没有
//java 用一些工具来操作!
double pow = Math.pow(2, 3);
double pow1 = Math.pow(3, 2);(3乘3等于9.0)
System.out.println(pow1);
System.out.println(pow);
关系运算符
- (>)(大于)
- (<)(小于)
- (>=)(大于等于)
- (<=)(小于等于)
- (==)(等于)
- (!=)(不等于)
- !=i n s t a a n c e o f
//关系运算符返回的结果:要么是正确 要么是错误 通过布尔值来表示
// if 如果怎么怎么样,那就怎么怎么样 他通过if判断
int a = 10;
int b = 20;
int c = 21;
System.out.println(a>b); //大于
System.out.println(a<b); //小于
System.out.println(a==b); //等于
System.out.println(a!=b); //不等于
逻辑运算符
- &&(与)
- ||(或)
- !(非)
//逻辑运算符 逻辑是什么意思
public class Demo05{
public static void main(String[] args) {
// 与(and)(两个都要) , 或(or) (我或者你), 非(取反)(不是你就是我)
/* && 他是 与(and) (两个都要)
* || 他是 或 (or) (我或者你)
* ! 他是 非(取反)(不是你就是我)
* */
// false错(假) true正确(真)
boolean a = true;
boolean b = false;
//逻辑与运算:两个变量都为真,结果才为 true ,有一个为假就false
//逻辑与运算:两个变量都为假,结果才为 false ,有一个为真就true
System.out.println("a && b: "+(a&&b));
//逻辑或运算:两个变量有一个为真,则结果才为true
//两个都为假,他的结果才为假,否则他就是真
System.out.println("a || b:"+(a||b));
//如果是真,则变为假
//相反:如果是假则变为真
System.out.println("! (a&& b) :"+!(a&&b));
//短路运算 (c<4) 结果为假的话,他后面不会去算
int c = 5;
boolean d = (c<4)&&(c++<4);
System.out.println(d);
System.out.println(c);
System.out.println("=========================");
int s = 10;
int d1 = 20;
System.out.println(s>d1); //false 为错 (假)
System.out.println(s<d1); //true 为正确(真)
位运算符
- &
- ^
- |,
- ~
- (>>)
- (<<)
- (>>>)(先了解!!!)
// 位运算
/*
A = 0011 1100 这是一个,二进制的
B = 0000 1101 这是一个,二进制的
A&B = 0000 1100 意思是A与B (两个都为一那么都为一,否则就是零)
A/B = 0011 1101 意思是A或B (两个都为零那么结果为零( 一 也同样),否则为一)
A^B = 0011 0001 意思是异或运算 (如果两个位相同则为零,否则就为一)
~B = 1111 0010 意思是非A即B 跟B相反 0000 1101 相反就是 1111 0010
*/
/* 2*8 = 16 怎么运算最快 可以拆分成:2*2*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 二进制 一零零零零开头 代表为十六
如果反过来要往上减
* */
System.out.println(2<<3); //输出为 16
条件运算符
- ?
//三元运算符
public class Demo08 {
public static void main(String[] args) {
// x ? y : z
//把上面比如 这样:
// 如果x==true,则结果为y,否则结果为z
int score = 80;
String type = score <60 ?"不及格":"及格";
System.out.println(type);
拓展赋值运算符
- +=
- -=
- /=
package operator;
public class Demo07 {
public static void main(String[] args) {
int a = 10;
int b = 20;
a+=b; //意思是 a= a + b
a-=b; //意思是 a = a - b
a/=b; //意思是 a = a / b
System.out.println(a);
//字符串连接符 之前学过 +
System.out.println(a+b);
System.out.println(""+a+b); //输出为 1020
在 + 号运算符两侧,只要有一方出现字符串类型 String(比如:"")
他就会把另外一个操作或其他操作都转换成String再进行连接
//面试问题
//这两个结果有什么区别
//如果""他在前面,他会拼接
System.out.println(""+a+b);
//如果""他在后面,他前面依旧会运算
System.out.println(a+b+"");
运行doc生成文档
javaDoc
参数信息
- @author 作者名
- @version 版本
- @since 指明不需要最早使用的jdk版本
- @param 参数名
- @return 返回值 情况
- @throws 异常抛出情况
ackage com.garfield.base;
/**
* @author Garfield 作者名
* @version 1.0 版本
* @since 1.8 使用的jdk版本
*/ //加在类的上面就是类的注释
public class Doc {
String name; // 他是一个属性
/**
* @author Garfield 作者名
* @param name 参数名
* @return 返回值 情况
* @throws Exception 异常抛出情况
*/ //加在方法的上面就是方法的注释
public String test(String name) throws Exception{ // 这是一个方法
return name;
}
}
在cmd里用命令运行Doc输入javadoc -encoding UTF-8 -charset UTF-8 Doc.java
然后在网页生成[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dXtl5EC4-1579771910217)(C:\Users\13178\Desktop\MarkDown学习\第一章(基础语法)\图片\doc\doc命令截图.jpg)]
命令运行Doc这里就是没输出,可还是成功了
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u5dyv4Ln-1579771910243)(C:\Users\13178\Desktop\MarkDown学习\第一章(基础语法)\图片\doc\网页doc截图.jpg)]
相关网站生成javadoc文件