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();
}
}

JavaSE学习笔记02运算符、帮助文档生成与Scanner输入的更多相关文章

  1. SpringBoot学习笔记:Swagger实现文档管理

    SpringBoot学习笔记:Swagger实现文档管理 Swagger Swagger是一个规范且完整的框架,用于生成.描述.调用和可视化RESTful风格的Web服务.Swagger的目标是对RE ...

  2. JavaSE 学习笔记02丨对象与类

    Chapter 4. 对象与类 4.1 面向对象程序设计概述 面向对象程序设计(简称OOP),是当今主流程序设计范型.面向对象的程序是由对象组成的,每个对象(来自于标准库或自定义的)包含对用户公开的特 ...

  3. MongoDB学习笔记四—增删改文档下

    $slice 如果希望数组的最大长度是固定的,那么可以将 $slice 和 $push 组合在一起使用,就可以保证数组不会超出设定好的最大长度.$slice 的值必须是负整数. 假设$slice的值为 ...

  4. MongoDB学习笔记三—增删改文档上

    插入insert 单条插入 > db.foo.insert({"bar":"baz"}) WriteResult({ }) 批量插入 > db.fo ...

  5. JavaScript学习笔记7 之DOM文档对象模型

    一.什么是DOMDocument Object Model 文档 -------对象 ----模型-------缩写DOM DOM是针对HTML和XML文档的一个API(应用程序编程接口).DOM描绘 ...

  6. HTML&CSS基础学习笔记1.4-定义文档类型

    Web 世界中存在许多不同的文档.只有了解文档的类型,浏览器才能正确地显示文档. HTML 也有多个不同的版本,只有完全明白页面中使用的确切 HTML 版本,浏览器才能完全正确地显示出 HTML 页面 ...

  7. AngularJS1.X学习笔记14-动画(解读文档)

    最近在看算法分析,那个大O啊,小o啊,分治法啊(目前就看到这里),真是搞死了.这回呢休息一下,学学AngularJS动画,上一篇文章根据自由男人的书简单谈到了动画的话题,发现反响很大(好吧,我说慌了, ...

  8. 《DOM Scripting》学习笔记-——第八章 充实文档的内容

    本章内容 一.一个为文档创建“缩略词语表”的函数 二.一个为文档创建“文献来源链接”的函数 三.一个为文档创建“快速访问键清单”的函数 利用DOM动态的收集和创建一些有用的辅助信息,并把它们呈现在网页 ...

  9. MongoDB快速入门学习笔记3 MongoDB的文档插入操作

    1.文档的数据存储格式为BSON,类似于JSON.MongoDB插入数据时会检验数据中是否有“_id”,如果没有会自动生成.shell操作有insert和save两种方法.当插入一条数据有“_id”值 ...

随机推荐

  1. 云计算openstack核心组件——neutron网络服务(9)

    一.虚拟机获取 ip: 用 namspace 隔离 DHCP 服务   Neutron 通过 dnsmasq 提供 DHCP 服务,而 dnsmasq 通过 Linux Network Namespa ...

  2. 使用swagger遇到的问题

    1.定义全局的请求参数时, defaultValue不能是中文,不然一直是请求中 ParameterBuilder userName = new ParameterBuilder(); Paramet ...

  3. Halcon使用骨架法处理激光条并拟合直线

    dev_close_window () * 设置颜色 dev_set_color ('green') * 读取图像 read_image (Image, 'images3/1') * 获得图像尺寸 g ...

  4. PowerJob 从 0 到 1.9k star 的经历

    本文适合有 Java 基础知识的人群 作者:HelloGitHub-Salieri 本文就是<讲解 PowerJob>系列的最后一篇文章了,纯粹是写点经历写点心路历程啥的,和大家道个别. ...

  5. Java随谈(一)魔术数字、常量和枚举

    本文适合对 Java 或 C 有一些了解的用户阅读,推荐阅读时间15分钟. 导言 写这个系列的原因? 我曾经听过一种说法,如果不了解Liunx的网络通讯,就很难理解理解Java的IO:如果不知道Jav ...

  6. 前端性能测试工具之PageSpeed Insights

    谷歌开发的一个免费的网页分析工具,在地址栏中输入被分析的网站 url 地址,点击分析 地址:https://developers.google.cn/speed/pagespeed/insights/ ...

  7. 使用Flutter完成10个商业项目后的经验教训

    作者:Łukasz Kosman 和 Jakub Wojtczak 原文:https://medium.com/swlh/lessons-learned-after-making-the-first- ...

  8. Maven环境搭建及常用命令、生命周期

    一.下载maven包,解压 二.配置环境变量,MAVEN_PATH=解压路径 添加到path中 三.测试  mvn -v 查看maven版本 四.设置本地仓库的路径 在conf文件夹下的setting ...

  9. Python-序列常用方法 + * += extend append方法区别

    + 两边都是相同序列类型.拼接成一个新的序列 print((1, 2, 3) + (4, 6)) print("beimenchuixue" + "ximenchuife ...

  10. Java知识系统回顾整理01基础03变量09块

    一.定义 块:从{ 开始 到对应的} 结束,即一个块 public class HelloWorld { //类对应的块 public static void main(String[] args) ...