五、变量、常量、作用域

静态量(类变量)只能写在类中,不能在外面,用static修饰。

final修饰的变量为常量。


六、运算符

Math类是一个工具类,用于复杂数学运算,它的构造器被定义成private,无法创建Math类的对象,Math类中所有的方法都是类方法,直接通过类名调用。

Math.max(a,b);

1、位运算符

2*8 = 16    2*2*2*2
效率极高!!!
<< 左移 *2 例:2<<3,左移三位
>> 右移 /2
0000 0000 0
0000 0001 1
0000 0010 2
0000 0100 4
0000 1000 8
0001 0000 16

2、串连接符 +


七、包

定义:使用package定义包。-----------package 包名

导入包:使用import----------------------import 包名

*是所有东西

创建递进关系的包


八、JavaDoc命令生成自己的API文档


九、流程控制

1、用户交互scanner类

Scanner s = new (System.in);
Scanner类的next()方法以空格结束与nextLine()方法以回车结束获取输入的字符串,在读取之前一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据
public class Scan1 {

    public static void main(String[] args) {
//创建扫描器对象s,用于接收键盘数据
Scanner s = new Scanner(System.in); System.out.println("使用next接收:");
//判断用户是否输入数据
if (s.hasNext()) {
//使用next()方法接收
String p = s.next();
System.out.println("输入内容:" + p);
}
//凡是属于IO流的类如果不关闭 会一直占用资源,要养成好习惯用完就关掉
s.close(); }
}

2、顺序结构

3、if选择结构

  • if单选择结构--if

  • if双选择结构--if else

  • if多选择结构--

    if(){}
    else if(){}
    else{}
  • if嵌套结构--

    if(){
    if(){
    }
    }

4、switch多选择结构

5、循环结构

for循环

for(初始化;判断条件;迭代){
}

whlie循环

--先判断后执行

do--whlie循环

--先执行后判断,至少执行一次。

增强for循环

for(声明语句:表达式)
{
代码句子
} 例:int[] num = {1,2,3};
for(int x: num){
System.out.println(x);
}

6、break

break用于强行退出循环,不执行循环中剩余的语句。

7、continue

continue用于终止某次循环,接着进行下一次循环判断。

8、标签

标签==goto

对Java来说唯一 用到标签的地方是在循环语句之前。 而在循环之前设置标签的唯一理由是:我们希望在其中嵌套另一个循环,由于break和continue关键字通常只中断当前循环,但若随同标签使用,它们就会中断到存在标签的地方。

public class Demo07_Label {
public static void main(String[] args) {
//打101- 150之问所有的质数
int count = 0;
//不建议使用!
outer:for (int i = 101;i < 150;i++){
for (int j = 2; j < i/2;j++){
if (i %j== 0){
continue outer;
}
}
System.out.print(i+" ");
}
}
}

十、方法

设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成1个功能,这样利于我们后期的扩展

  1. 静态方法--static

    1. 通过类.方法名直接调用
  2. 非静态方法
    1. 实例化这个类再调用方法

1、方法的定义

  1. 方法包含一个方法头和一个方法体。下面是一个方法的所有部分:
  2. 修饰符:修饰符,这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。
  3. 返回值类型:方法可能会返回值。returnValueType 是方法返回值的数据类型。有些方法执行所需的操作,但没有返回值。在这种情况下,returnValueType 是关键字void。
  4. 方法名:是方法的实际名称。方法名和参数表共同构成方法签名。
  5. 参数类型:参数像是一个占位符。当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数。
  • 形式参数:在方法被调用时用于接收外界输入的数据。
  • 实参:调用方法时实际传给方法的数据。
  1. 方法体:方法体包含具体的语句,定义该方法的功能。
修饰符 返回值类型 方法名(参数类型参数名){
方法体
return返回值;
}
当不需要返回值是,返回值类型必须为void

2、方法调用

  1. 调用方法:对象名.方法名(实参列表)
  2. Java支持两种调用方法的方式,根据方法是否返回值来选择。
  • 当方法返回一个值的时候,方法调用通常被当做一个值。例如:

    int larger = max(30,40);
  • 如果方法返回值是void,方法调用一定是一条语句。

    System. out. println( “Hello,world!”);

3、方法重载

  1. 定义:重载就是在一个类中,有相同的函数名称,但形参不同的函数。
  2. 方法的重载的规则:
  • 方法名称必须相同
  • 参数列表必须不同(个数不同、或类型不同、参数排列顺序不同等)。
  • 方法的返回类型可以相同也可以不相同。
  • 仅仅返回类型不同不足以成为方法的重载。
  1. 实现理论:

方法名称相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器报错。

4、命令行传参

有时候你希望运行一个程序时候再传递给它消息。这要靠传递命令行参数给main()函数实现。

5、可变参数

  1. JDK 1.5开始,Java支持传递同类型的可变参数(不定项)给一个方法。
  2. 方法声明中,在指定参数类型后加一个省略号(…)
  3. 一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明

6、递归(能不用就不用)

  1. 递归就是: A方法调用A方法!就是自己调用自己
  2. 递归结构包括两个部分:

    1.递归头:什么时候不调用自身方法。如果没有头,将陷入死循环。

    2.递归体:什么时候需要调用自身方法。

7、实参与形参

   public static void main(String[] args) {
add(2,3);////这里的2,3是实参
}//实参与形参的类型要对应!!
public static void add(int a,int b){///a,b是形参
System.out.println(a+b);
}
}

8、值传递与引用传递

  1. 值传递
public class CaoGao {
public static void main(String[] args) {
int a= 1;
System.out.println(a);
CaoGao.change(a);
System.out.println(a); }
public static void change(int a){//返回为空没有改变成员变量
a = 10;
}
}
结果:1 1
  1. 引用传递
public class CaoGao {
public static void main(String[] args) {
Person person = new Person();
System.out.println(person.name);//null CaoGao.change(person); System.out.println(person.name);//葫芦娃 } public static void change(Person person) {
//person是一个对象:指向的-->Person person = new Person();可以改变属性
person.name = "葫芦娃";
}
}
class Person{
String name;
}

最新文章

  1. python2.7初学(〇)
  2. oracle函数--trunc
  3. Entity Framework优缺点及使用方法总结
  4. codevs 1690 开关灯 线段树水题
  5. bq27441-G1 工作机制
  6. [RQNOJ313]波浪数
  7. javaweb学习总结(三十六)——使用JDBC进行批处理
  8. php学习笔记——CSS缓存问题
  9. Nginx配置文件及模块解析
  10. Kafka 术语
  11. 20155230 2016-2017-2 《Java程序设计》第九周学习总结
  12. quantum theory
  13. FZU OJ 1075 :分解素因子
  14. 上传插件(WebUploader)
  15. [置顶] Django 微信开发(一)——环境搭建
  16. JIRA licence crack and etc
  17. 【CentOS 6.5】QtCreator启动时关于dbus-1的错误解决方法
  18. ThinkPHP -- 基础入门
  19. git查看某一个文件的修改历史
  20. 一些常用的CDN列表

热门文章

  1. Kubernetes Secrets
  2. linux 更新python3.8
  3. SpringBoot - yml写法
  4. 浅入Kubernetes(10):控制节点的部署,选择器、亲和性、污点
  5. misdirection靶机work_through
  6. springboot 配置将info、error、debug 分别输出到不同文件
  7. hdu1542 线段树扫描线求矩形面积的并
  8. Windows核心编程 第四章 进程(上)
  9. Day006 什么是方法
  10. 快速运行cmd