JavaSE学习笔记02运算符、帮助文档生成与Scanner输入
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生成文档
选中你要生成文档的项目
点击上方的Tools->Generate JavaDoc选项
这里的命令行参数很重要,因为只有使用 utf-8 编码才能保证生成时可以正常处理中文字符,所以一定要加上:
-encoding utf-8 -charset utf-8
- 点击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()
- 一定要读取到有效字符后才可以结束输入
- 对输入有效字符之前遇到的空白,next()方法会自动将其去掉
- 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
- 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()
- 以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符
- 可以获得空白
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();
}
}
JavaSE学习笔记02运算符、帮助文档生成与Scanner输入的更多相关文章
- SpringBoot学习笔记:Swagger实现文档管理
SpringBoot学习笔记:Swagger实现文档管理 Swagger Swagger是一个规范且完整的框架,用于生成.描述.调用和可视化RESTful风格的Web服务.Swagger的目标是对RE ...
- JavaSE 学习笔记02丨对象与类
Chapter 4. 对象与类 4.1 面向对象程序设计概述 面向对象程序设计(简称OOP),是当今主流程序设计范型.面向对象的程序是由对象组成的,每个对象(来自于标准库或自定义的)包含对用户公开的特 ...
- MongoDB学习笔记四—增删改文档下
$slice 如果希望数组的最大长度是固定的,那么可以将 $slice 和 $push 组合在一起使用,就可以保证数组不会超出设定好的最大长度.$slice 的值必须是负整数. 假设$slice的值为 ...
- MongoDB学习笔记三—增删改文档上
插入insert 单条插入 > db.foo.insert({"bar":"baz"}) WriteResult({ }) 批量插入 > db.fo ...
- JavaScript学习笔记7 之DOM文档对象模型
一.什么是DOMDocument Object Model 文档 -------对象 ----模型-------缩写DOM DOM是针对HTML和XML文档的一个API(应用程序编程接口).DOM描绘 ...
- HTML&CSS基础学习笔记1.4-定义文档类型
Web 世界中存在许多不同的文档.只有了解文档的类型,浏览器才能正确地显示文档. HTML 也有多个不同的版本,只有完全明白页面中使用的确切 HTML 版本,浏览器才能完全正确地显示出 HTML 页面 ...
- AngularJS1.X学习笔记14-动画(解读文档)
最近在看算法分析,那个大O啊,小o啊,分治法啊(目前就看到这里),真是搞死了.这回呢休息一下,学学AngularJS动画,上一篇文章根据自由男人的书简单谈到了动画的话题,发现反响很大(好吧,我说慌了, ...
- 《DOM Scripting》学习笔记-——第八章 充实文档的内容
本章内容 一.一个为文档创建“缩略词语表”的函数 二.一个为文档创建“文献来源链接”的函数 三.一个为文档创建“快速访问键清单”的函数 利用DOM动态的收集和创建一些有用的辅助信息,并把它们呈现在网页 ...
- MongoDB快速入门学习笔记3 MongoDB的文档插入操作
1.文档的数据存储格式为BSON,类似于JSON.MongoDB插入数据时会检验数据中是否有“_id”,如果没有会自动生成.shell操作有insert和save两种方法.当插入一条数据有“_id”值 ...
随机推荐
- 云计算openstack核心组件——neutron网络服务(9)
一.虚拟机获取 ip: 用 namspace 隔离 DHCP 服务 Neutron 通过 dnsmasq 提供 DHCP 服务,而 dnsmasq 通过 Linux Network Namespa ...
- 使用swagger遇到的问题
1.定义全局的请求参数时, defaultValue不能是中文,不然一直是请求中 ParameterBuilder userName = new ParameterBuilder(); Paramet ...
- Halcon使用骨架法处理激光条并拟合直线
dev_close_window () * 设置颜色 dev_set_color ('green') * 读取图像 read_image (Image, 'images3/1') * 获得图像尺寸 g ...
- PowerJob 从 0 到 1.9k star 的经历
本文适合有 Java 基础知识的人群 作者:HelloGitHub-Salieri 本文就是<讲解 PowerJob>系列的最后一篇文章了,纯粹是写点经历写点心路历程啥的,和大家道个别. ...
- Java随谈(一)魔术数字、常量和枚举
本文适合对 Java 或 C 有一些了解的用户阅读,推荐阅读时间15分钟. 导言 写这个系列的原因? 我曾经听过一种说法,如果不了解Liunx的网络通讯,就很难理解理解Java的IO:如果不知道Jav ...
- 前端性能测试工具之PageSpeed Insights
谷歌开发的一个免费的网页分析工具,在地址栏中输入被分析的网站 url 地址,点击分析 地址:https://developers.google.cn/speed/pagespeed/insights/ ...
- 使用Flutter完成10个商业项目后的经验教训
作者:Łukasz Kosman 和 Jakub Wojtczak 原文:https://medium.com/swlh/lessons-learned-after-making-the-first- ...
- Maven环境搭建及常用命令、生命周期
一.下载maven包,解压 二.配置环境变量,MAVEN_PATH=解压路径 添加到path中 三.测试 mvn -v 查看maven版本 四.设置本地仓库的路径 在conf文件夹下的setting ...
- Python-序列常用方法 + * += extend append方法区别
+ 两边都是相同序列类型.拼接成一个新的序列 print((1, 2, 3) + (4, 6)) print("beimenchuixue" + "ximenchuife ...
- Java知识系统回顾整理01基础03变量09块
一.定义 块:从{ 开始 到对应的} 结束,即一个块 public class HelloWorld { //类对应的块 public static void main(String[] args) ...