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. 【二叉树-BFS系列1】二叉树的右视图、二叉树的锯齿形层次遍历

    题目 199. 二叉树的右视图 给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值. 示例: 输入: [1,2,3,null,5,null,4] 输出: [1, ...

  2. python字符串和列表小案例

    python 目录 python 一.字符串 1.给定一个字符串,利用切片将字符串反转 2.给定一个字符串,将空格替换为逗号 3.给定一个字符串,大写改为小写 4.str = '' ,li = ['l ...

  3. 解读Java NIO Buffer

    从jdk1.4开始,java中引入了nio包,提供了非阻塞式的网络编程模型,提供网络性能.nio中核心组件有三个:channel.buffer.selector.这里主要探讨buffer的概念和使用. ...

  4. leetcode1546题解【前缀和+贪心】

    leetcode1546.和为目标值的最大数目不重叠非空子数组数目 题目链接 算法 前缀和+贪心 时间复杂度O(n). 1.对nums数组求前缀和: 2.在求前缀和过程中将前缀和sum插入到set集合 ...

  5. 树莓派Raspberry Pi OS(原Raspbian)系统常用配置

    首次开机自动连接WIFI 在资源浏览器中打开刚写好Raspberry Pi OS(之前叫Raspbian)系统的SD卡,如果有boot目录则在boot目录中新建一个名为wpa_supplicant.c ...

  6. 滴滴开源AgileTC:敏捷测试用例管理平台

    ​桔妹导读:AgileTC是一套敏捷的测试用例管理平台,支持测试用例管理.执行计划管理.进度计算.多人实时协同等能力,方便测试人员对用例进行管理和沉淀.产品以脑图方式编辑可快速上手,用例关联需求形成流 ...

  7. 面试官:讲讲Redis的五大数据类型?如何使用?(内含完整测试源码)

    写在前面 最近面试跳槽的小伙伴有点多,给我反馈的面试情况更是千差万别,不过很多小伙伴反馈说:面试中的大部分问题都能够在我的公众号[冰河技术]中找到答案,面试过程还是挺轻松的,最终也是轻松的拿到了Off ...

  8. vscode写latex的正反向搜索问题

    vscode写latex的正反向搜索问题 vscode使用LaTeX Workshop + TexLive时可以很舒畅的写作 但是在长篇写作时,会涉及到正反向搜索的需求.即根据源码搜pdf的位置,和根 ...

  9. 008 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 02 Java 中的关键字

    008 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 02 Java 中的关键字 关键字 关键字就是一些有特殊意义的词 之前学习的程序中涉及到的关键字 Java中 ...

  10. 【题解】「MCOI-02」Convex Hull 凸包

    题目戳我 \(\text{Solution:}\) \[\sum_{i=1}^n \sum_{j=1}^n \rho(i)\rho(j)\rho(\gcd(i,j)) \] \[=\sum_{d=1} ...