Java随堂小记
自增、自减运算符
又叫一元运算符
public class Demo1 {
public static void main(String[] args) {
int a = 1;
int b = a++;//先赋值后自增
int c = ++a;//先自增后赋值
System.out.println(b);
System.out.println(c);
int d = 2;
int e = 1;
int f=d++ + ++e;
System.out.println(f);
}
}
运行结果:
初识Math类
自动补全返回值类型 Ctrl + Alt + V
在Java中,幂运算如:2^3,用一些工具类来操作
public class Demo1 {
public static void main(String[] args) {
double pow = Math.pow(2,3);
System.out.println(pow);
}
}
运行结果:
逻辑运算符
public class Demo1 {
public static void main(String[] args) {
boolean a = true;
boolean b = false;
System.out.println("a && b:"+(a&&b));
System.out.println("a || b:"+(a||b));
System.out.println("!(a && b):"+!(a&&b));
//短路运算:若前面的为假,则不执行后面的操作
int c = 4;
boolean d = (c<3)&&(c++<5);//c<3为false,不执行&&后面的
System.out.println(d);
System.out.println(c);
}
}
运行结果:
位运算符
位运算
A = 0011 1100
B = 0000 1101
A&B = 0000 1100 全1才为1
A|B = 0011 1101 全0才为0
A^B = 0011 0001 异或,相同为0,相异为1
~B = 1111 0010 取反,0变1,1变0
左移<< 右移>>(重要)
2* 8 = 16 2* 2 *2 *2
2<<3 = 16 常用在计算底层得一些运算
0000 0000
0000 0010 2
↑ 从这开始
0000 0100 4
↑ 移一位
0000 1000 8
↑ 再移一位
0001 0000 16
↑ 再移一位
共移了三位,所以 2<<3 = 16
*/
System.out.println(2<<3);
运行结果:
赋值运算符
public class Demo1 {
public static void main(String[] args) {
int a = 10;
int b = 20;
a += b;//a = a + b
System.out.println(a);
//字符串连接符
System.out.println(a+b);
System.out.println(""+a+b);//String + ...,会转成字符串
System.out.println(a+b+"");
}
}
运行结果:
扫描二维码关注公众号,回复:
12464792 查看本文章
包机制
格式:
package pkg1.pkg2.pkg3...;
一般用公司域名倒置作为包名
package com.baidu.www;
若新建只有一级包
点击齿轮(显示选择菜单),将压缩空的中间包勾选去掉即可
导包
import pkg1.pkg2.(classname|*);
默认导入lang包
*:通配符 表示导入该包下所有的类
JavaDoc生成文档
参数信息
/** */
@author 作者名
@version 版本号
@ since 指明需要最早使用得jdk版本
@param 参数名
@return 返回值情况
@throws 异常抛出情况
加在哪,就是哪里得注释
打开index.html
Scanner
- 导包
import java.util.Scanner;
- 语法
Scanner scanner = new Scanner(System.in);
自动补全:Ctrl+alt+V
记得打了主函数才能用
package www.Dongyi.Scanner;
import java.util.Scanner;
public class Demo2 {
public static void main(String[] args) {
//接收键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用nextLine方式接收:");
//判断是否还有输入
if(scanner.hasNextLine()){
//使用next方式接收
String str = scanner.nextLine();
System.out.println("用户输入内容:"+str);
}
//凡是属于IO流得类如果不关闭会一直占用资源,用完就关
scanner.close();
}
}
运行结果:
next()与nextLine()得区别
注意不要忘记
Scanner scanner = new Scanner(System.in);
scanner.close();
案例
案例1
package www.Dongyi.Scanner;
import java.util.Scanner;
public class Demo2 {
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("输入不是小数!");
}
scanner.close();//释放内存,养成好习惯
}
}
这里会有一个小问题
如果输入0.5
解决方法
重新new一个对象,在最后关闭两个流
案例2
根据用户输入的数字求平均数和总和
输入多个数字,并求其总和与平均数,每输入一个数字用回车确认,通过非数字来结束输出并输出结果
package www.Dongyi.Scanner;
import java.util.Scanner;
public class Demo2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//和
double sum = 0;
//计算输入了多少个数字
int m = 0;
System.out.println("请输入数字,回车确认,当输入非数字,则程序结束");
//通过循环判断是否还有输入,并在里面对每一次求和统计
while (scanner.hasNextDouble()){
double x = scanner.nextDouble();//新建一个x来接收
m++;
sum += x;
System.out.println("你输入了第"+m+"个数据,当前结果为:"+sum);
}
System.out.println(m + "个数的和为" + sum);
System.out.println(m + "个数的平均值为" + (sum/m));
scanner.close();
}
}