package com.liu.operator;
public class Demo01 {
public static void main(String[] args) {
// 二元运算符
// Ctrl + D: 复制当前行到下一行
int a = 10;
int b = 20;
int c = 25;
int d = 25;
System.out.println(a + b);
System.out.println(a - c);
System.out.println(a * d);
System.out.println(a / (double)b); // 变成小数后,有问题,int类型没有小数
/**
* 在运算过程中,结果类型取所占位数(字节)大的
* 通常都是long/double/int
*/
long l1 = 123456789L;
int i1 = 1235;
short s = 123;
byte b1 = 123;
System.out.println(l1 + i1);
System.out.println(s + i1);
System.out.println(b1 + i1);
System.out.println(l1 + s);
}
}
package com.liu.operator;
public class Demo02 {
public static void main(String[] args) {
/**
* 关系运算符
* 1. 关系运算符返回的结果都是布尔值,对或者错
*
* 模运算(取余)
* 1. 整除所剩余的数
*/
// 关系运算符
System.out.println(1 > 2);
System.out.println(123 > 2);
System.out.println(1 >= 2);
System.out.println(1 <= 2);
// 模运算
System.out.println(105 % 4); // 1
System.out.println(14 % 4); // 2
}
}
package com.liu.operator;
public class Demo03 {
public static void main(String[] args) {
/**
* 自增 ++
* 1. 前置++ 是先计算,后赋值
* 2. 后置++ 是先赋值,后运算
* 自减 --
* 1. 前置-- 是先计算,后赋值
* 2. 后置-- 是先赋值,后运算
*/
int a = 3;
int b = a++;
int c = ++a;
System.out.println(a);
System.out.println(++b);
System.out.println(c);
// 幂运算
// Math类,是一个数学工具类
double be = Math.pow(3,3);
System.out.println(be);
}
}
package com.liu.operator;
public class Demo04 {
public static void main(String[] args) {
/**
* 逻辑运算符
* 1. 逻辑与运算
* 条件都为真,则结果为真,任意为假,则返回false
*
* 2. 逻辑或运算
* 条件都为假,则结果为假,任意为真,则返回true
*
* 3. 非
* 取反操作
*
* 短路运算
* 在第一个条件不符合条件时,就不会看后面的条件
*/
System.out.println(1>2 && 2>1);
System.out.println(1>2 || 2>1);
System.out.println(!(1>2 || 2>1));
}
}
package com.liu.operator;
public class Demo05 {
public static void main(String[] args) {
// 位运算符 每一位进行比较
/*
计算机是八位二进制
A = 0011 1100
B = 0000 1101
A&B A与B对位为1则为1,不然为0
0000 1100
A|B A或B对位为1则为1,不然为0
0011 1101
A^B A和B对位相同为0,不然为1
0011 0001
~B 将B取反
1111 0010
怎么计算2*8最快
2*8 = 16
<<左移 *2
>>右移 /2
0000 0000 0
0000 0001 1
0000 0010 2
0000 0011 3
0000 0100 4
0000 0101 5
0000 0110 6
0000 0111 7
0000 1000 8
0001 0000 16
*/
System.out.println(2<<3);
}
}
package com.liu.operator;
public class Demo06 {
public static void main(String[] args) {
// 扩展运算符
int a = 10;
int b = 20;
a += b;
System.out.println(a);
// 三元运算符
// x ? y : z
// 字符串拼接符 +
System.out.println("" + a + b);
System.out.println(a + b + "");
}
}
package com.liu.scanner;
import java.util.Scanner;
public class Demo01 {
public static void main(String[] args) {
// 创建实例
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方法接收");
// 判断是否还有下一个
if (scanner.hasNext()) {
System.out.println(scanner.next());
}
// 关闭扫描器,任何IO类,使用过后都需要关闭,节约内存
scanner.close();
}
}
package com.liu.scanner;
import java.util.Scanner;
public class Demo02 {
public static void main(String[] args) {
// 创建实例
Scanner scanner = new Scanner(System.in);
System.out.println("使用nextLine接收");
if (scanner.hasNextLine()) {
System.out.println(scanner.nextLine());;
}
// 关闭扫描器,任何IO类,使用过后都需要关闭,节约内存
scanner.close();
}
}
package com.liu.scanner;
import java.util.Scanner;
/**
* scanner是扫描器,可以通过键盘获取用户输入的数据
* 它拥有两种获取数据的方式
* 1. next() 取值范围是从开头到第一个空格,会将空格作为分隔隔断符,用得少
* 2. nextLine() 取值范围是所有输入的内容,通常需要使用也是用这个
*
* scanner常用两种判断方式
* 1. hasNext() 判断是否还有下一个字
* 2. hasNextLine() 判断是否还有下一行
*/
public class Demo03 {
public static void main(String[] args) {
// 创建实例
Scanner scanner = new Scanner(System.in);
System.out.println("使用nextLine接收");
System.out.println(scanner.nextLine());
// 关闭扫描器,任何IO类,使用过后都需要关闭,节约内存
scanner.close();
}
}
package com.liu.scanner;
import java.util.Scanner;
public class Demo04 {
public static void main(String[] args) {
// 实例化
Scanner scanner = new Scanner(System.in);
int i = 0;
float f = 0.0F;
System.out.println("请输入整数");
if (scanner.hasNextInt()) {
i = scanner.nextInt();
System.out.println("输入的结果是" + i);
} else {
System.out.println("你输入的不是整数类型");
}
System.out.println("请输入小数");
if (scanner.hasNextFloat()) {
f = scanner.nextFloat();
System.out.println("输入得结果是" + f);
} else {
System.out.println("你输入的不是浮点数类型");
}
// 关闭扫描器,任何IO类,使用过后都需要关闭,节约内存
scanner.close();
}
}
package com.liu.scanner;
import java.util.Scanner;
public class Demo05 {
public static void main(String[] args) {
// 需求: 输入多个数字,并计算起综合和平均数,没输入一个数字使用回车确认,通过输入非数字来进行结束,并输入其结果
Scanner scanner = new Scanner(System.in);
// 和
double sum = 0;
// 计算输入数量
int m = 0;
// 通过while循环来进行判断书否还有输出,并进行求和运算
while (scanner.hasNextDouble()) {
sum += scanner.nextDouble();
m++;
System.out.println("此时输入了" + m + "个数,和是" + sum );
}
// 结束后输出总结果
System.out.println("数量" + m + "个,总和" + sum);
}
}
项目分层命名
一般可以分为两种情况进行命名:
A、以功能模块来分层定义
比如,现有两个功能模块User、Menu
com.xxx.user.action com.xxx.menu.action
com.xxx.user.service com.xxx.menu.service
com.xxx.user.dao com.xxx.user.dao
com.xxx.user.controller com.xxx.user.controller
B、以逻辑模块来划分
com.xxx.action UserAction MenuAction
com.xxx.service UserService MenuService
1. 在对应资源管理器的地址栏输入CMD开启命令行
2. 使用javadoc指令
1. javadoc -endoding UTF-8 -charset UTF-8 文件名.java
对应参数
-encoding utf-8 -charset utf-8 使用unicode编码集
java官方API文档
原文:https://www.cnblogs.com/studyHistory/p/14502698.html