JavaSE笔记02运算符、帮助文档与Scanner

28 篇文章 0 订阅
本文介绍了Java中的各种运算符,包括算术、赋值、关系、逻辑、位和条件运算符,以及扩展赋值运算符。此外,还详细讲解了包机制、Java Doc的使用,特别是如何在IDEA中生成文档。最后,讨论了Scanner类,重点阐述了next()和nextLine()方法的用法,以及在处理用户输入时的注意事项。
摘要由CSDN通过智能技术生成

1. 运算符

1. 算术运算符:+,-,*,/,%,++,- -
 //二元运算符
int a = 10;
int b = 20;
int c = 25;
int d = 25;
System.out.println(a + b);//30
System.out.println(a - b);//-10
System.out.println(a * b);//200
System.out.println(a / (double)b);//0.5

 //取余,模运算
int x = 10;
int y = 20;
int z = 21;
System.out.println(z % x);//1

Java还提供了++运算和–运算,它们可以对一个整数进行加1和减1的操作

//一元运算符
//++自增,--自减
int n = 300;
n++; //301,相当于n = n + 1
n--; //300,相当于n = n - 1
//注意:++写在前面和后面计算结果是不同的,++n表示先加1再引用n,n++表示先引用n再加1
2.赋值运算符:=
int a = 1;//把 1 赋值给 a
3.关系运算符:>,<,>=,<=,==,!=
//关系运算符返回的结果:正确(true),错误(false)
int a = 10;
int b = 20;

System.out.println(a > b);//false
System.out.println(a < b);//true
System.out.println(a == b);//false
System.out.println(a != b);//true
4.逻辑运算符:&&,||,!
//逻辑运算符:与(and)、或(or)、非(取反)
boolean a = true;
boolean b = false;

System.out.println("a && b" + ":" + (a && b));//false
System.out.println("a || b" + ":" +(a || b));//true
System.out.println("!(a && b)" + ":"+ !(a && b));//true
5.位运算符:&,|,^,>>,<<

与运算的规则是:必须两个数同时为1,结果才为1

n = 0 & 0;	//0
n = 0 & 1;	//0
n = 1 & 0;	//0
n = 1 & 1;	//1

或运算的规则是:只要任意一个为1,结果就为1

n = 0 | 0;	//0
n = 0 | 1;	//1
n = 1 | 0;	//1
n = 1 | 1;	//1

异或运算的规则是:如果两个数不同,结果为1,否则为0

n = 0 ^ 0; //0
n = 0 ^ 1; //1
n = 1 ^ 0; //1
n = 1 ^ 1; //0

移位运算

//对整数7左移1位将得到整数14,左移两位将的到整数28
int n = 7;		//7
int a = n << 1;	//14
int b = n << 2;	//28
//对byte和short类型进行移位时,会先转换为int再进行位移,仔细观察发现,左移实际上就是不断的*2,右移实际上就是不断的/2。
6.条件运算符:?:
//三元运算符
//布尔表达式 ? 表达式1 :表达式2
//布尔表达式为true,选择表达式1作为结果,反之选择表达式2作为结果。

int score = 80;
String type = score < 60 ?"不及格":"及格";
System.out.println(type);//及格
7.扩展赋值运算符:+=,-=,*=,/=
//还有一种简写的运算符,即+=,-=,*=,/=
n += 100//相当于n = n + 100;
n -= 100//相当于n = n - 100;

浮点数运算:浮点数运算和整数运算相比,只能进行加减乘除这些数值计算,不能做位运算和移位运算。

//幂运算 2^3 : 2*2*2 = 8,很多运算我们会使用一些工具类来操作!
double pow = Math.pow(2,3);
System.out.println(pow);//8.0

2.包机制

为了更好的组织类,java提供了包机制,用于区别类名的命名空间,语法格式:package pkg1[. pkg2[. pkg3…] ];

一般利用公司域名倒置作为包名,如:com.baidu.www

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

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

import还可以采用*号的方式,表示导入这个包下所有的类

3. Java Doc

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

//参数信息
@author 作者名
@version 版本号
@since 指明需要最早使用的jdk版本
@param 参数名
@return 返回值情况
@throws 异常抛出情况
package com.kuang.base;
/**
 * @author 阿波
 * @version 1.0
 * @since 1.8
 */
public class DOc {

    String name;
    /**
     * @author 阿波
     * @param name
     * @return
     * @throws Exception
     */
    public String test(String name) throws Exception{
        return name;
    }
}
//通过命令行生成Java帮助文档:javadoc java文件
IDEA生成文档
  1. 选中你要生成文档的项目

  2. 点击上方的Tools->Generate JavaDoc选项

    在这里插入图片描述

    这里的命令行参数很重要,因为只有使用 utf-8 编码才能保证生成时可以正常处理中文字符,所以一定要加上:

    -encoding utf-8 -charset utf-8
    
    1. 点击ok即可

    效果如图:

    在这里插入图片描述

4. Sanner

Scanner类用来获取用户的输入

//基本语法:Scanner s = new Scanner(System.in);

通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。

package com.kuang.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()){
            //使用next方式接受
            String str = scanner.next();
            System.out.println("输入的内容为:" + str);
            //此处若之前输入的有空白,如:Hello World,只会输出:Hello
        }
        //凡是属于IO流的类如果不关闭会一直占用资源,要养成好习惯:用完就关掉。
        scanner.close();
    }
}
next()
  1. 一定要读取到有效字符后才可以结束输入
  2. 对输入有效字符之前遇到的空白,next()方法会自动将其去掉
  3. 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
  4. next()不能得到带有空格的字符串
package com.kuang.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()){
            String str = scanner.nextLine();
            System.out.println("输入的内容为:" + str);
            //此处若之前输入的有空白,如:Hello World,还是会输出:Hello World
        }
        scanner.close();
    }
}

nextLine()
  1. 以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符
  2. 可以获得空白
package com.kuang.Scanner;

import java.util.Scanner;

public class Demo03 {
    public static void main(String[] args) {
        //从键盘接受数据,多用nextLine()方法
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入数据:");

        String str = scanner.nextLine();
        System.out.println("输出内容为:" + str);

        scanner.close();
    }
}
小例子
package com.kuang.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;
        System.out.println("请输入数字数据:");
        
        //通过循环判断是否还有输入,并在里面对每一次进行求和和统计
        while (scanner.hasNextDouble()){
            double x = scanner.nextDouble();
            //计数
            m = m + 1;
            //求和
            sum = sum + x;
            System.out.println("你输入了第" + m + "个数据,然后当前结果是sum =" + sum);
        }
        System.out.println(m + "个数的和为:" + sum);
        System.out.println(m + "个数的平均值是:" + (sum / m));

        scanner.close();
    }
}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值