0709,0710

本篇笔记内容较少较简单,多数语法与C语言相同

基础语法(下)

条件语句、循环语句以及跳转语句、数组的相关操作以及用户输入的操作。

流程控制

常见的:条件语句、循环语句、跳转语句。

if语句

1.语法(与C语言基本相同)

2.注意:条件语句都是利用条件表达式的真或假来决定执行路径,Java里不允许将一个数字作为布尔值使用,虽然这在C和C++里是允许的。

switch语句

1.语法(与C语言基本相同)

switch(表达式){
case 值1:
代码块1
break;
case 值2:
代码块2
break;
default:
默认执行的代码块
}

while语句和do-while语句

1.语法(与C语言基本相同)

do{
代码块
}while(条件);

for语句

1.语法(与C语言基本相同)

break关键字

1.语法(与C语言基本相同)

continue关键字

1.语法(与C语言基本相同)



数组

一维数组

1.声明数组的语法

数据类型[] 数组名;

或者

数据类型 数组名[];(这种跟C语言基本一样)

数组名为合法的变量名

2.为数组分配空间的语法

数组名 = new 数据类型 [数组长度];

也可以将1和2合并,在声明的同时分配空间。

3.将一个数组赋值给另一个数组

int [] a1 = {1,2,3};
int [] a2;
a2 = a1;

这里只是复制了一个引用,即a2和a1是相同数组的不同名称

4.使用foreach遍历数组

for语句在数组内可以使用特殊简化版本

for(元素类型 元素变量:遍历对象){
执行的代码
}

举例:

public class JudgePrime{
public static void main(String[] args){
int [] ages = {12,18,9,33,45,60};
int i = 1;
for(int age:ages){
System.out.println("数组中第"+i+"个元素是"+age);
i++;
}
}
}

二维数组

1.声明和分配空间的语法

数据类型 [][] 数组名 = new 数据类型[行的个数][列的个数];

或者

数据类型 [][] 数组名;
数组名 = new 数据类型[行的个数][列的个数];

也可以

数据类型 [][] 数组名 = {
{第一行值1,第一行值2,...},
{第二行值1,第二行值2,...},
...
{第n行值1,第n行值2,...}
};

注意除了最后一行外,每行右大括号后都跟一个逗号



用户输入操作

上一篇已经涉及到了。

1.在开头写上:

import java.util.Scanner;

即可以使用java.util包下的Scanner类来获取用户的输入

2.下面是输入多种数据以及控制多组数据输入的方法:

Scanner in = new Scanner(System.in);
//获取用户输入的一行数据 返回为字符串
String s = in.nextLine(); //返回用户输入的int值
int i = in.nextInt(); //循环读取int数据,当输入exit时退出循环
while(!in.hasNext("exit")){
System.out.println(in.nextInt());
} //关闭输入
in.close();

3.如何输入含空格的一句话

使用Scanner.useDelimiter()方法,可以将分隔符修改为回车或其他符号

Scanner scan = new Scnner(System.in).useDelimiter("\n");
System.out.print("请输入:");
String s = scan.next();
System.out.printf("%s",s);

练习题:用户输入

1.要求:

  • 获取用户的输入信息(字符串)
  • 当用户输入end时,结束输入并打印用户之前输入的所有信息(输入的信息不超过100个)

2.我的代码:

import java.util.Scanner;
public class InputTest{
public static void main(String[] args){
String [] sen=new String[100];
int i = 0;
Scanner in = new Scanner(System.in);
while(!in.hasNext("end")){
sen[i]=in.nextLine();
i++;
}
in.close();
for(int j=0;j<i;j++){
System.out.println(sen[j]);
}
}
}


参考

Java编程基础(实验楼)

Scanner的一些用法



感想

学习了Java的一些基础语法,感觉是大部分语法与C语言相同,还有一些与Python相同,如格式化输出的方式,import的用法,数组直接赋值等等。



to be continued

总有一天,我会用高亮的代码段让这里焕然一新!这是我的宣言!

2019暑假Java学习笔记(二)的更多相关文章

  1. 2019暑假Java学习笔记(一)

    目录 基础语法(上) HelloWorld 变量 常量 数据类型 整数 浮点数 char类型 boolean类型 String 计算字符串长度 字符串比较 字符串连接 charAt()方法 字符串常用 ...

  2. 2019暑假Java学习笔记(三)

    目录 面向对象 对象 构造方法 引用与对象实例 static final 封装 this 继承 super 方法重载与重写 多态 抽象类 接口 内部类 成员内部类 静态内部类 局部内部类 匿名内部类 ...

  3. Java学习笔记二十九:一个Java面向对象的小练习

    一个Java面向对象的小练习 一:项目需求与解决思路: 学习了这么长时间的面向对象,我们只是对面向对象有了一个简单的认识,我们现在来做一个小练习,这个例子可以使大家更好的掌握面向对象的特性: 1.人类 ...

  4. 数组排序、递归——(Java学习笔记二)

    升序:      选择排序:         选定一个元素,一次和后面的元素相比较,如果选定的元素大雨后面的比较元素,就交换位置         先出现最小值,最后出现最大值. public stat ...

  5. Java学习笔记二:数据类型II

    GitHub代码练习地址:https://github.com/Neo-ML/JavaPractice/blob/master/Intpractice3.java 一  Java中的数据类型 Java ...

  6. Java学习笔记二十八:Java中的接口

    Java中的接口 一:Java的接口: 接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明.一个类通过继承接口的方式,从而来继承 ...

  7. Java学习笔记二十七:Java中的抽象类

    Java中的抽象类 一:Java抽象类: 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就 ...

  8. Java学习笔记二十五:Java面向对象的三大特性之多态

    Java面向对象的三大特性之多态 一:什么是多态: 多态是同一个行为具有多个不同表现形式或形态的能力. 多态就是同一个接口,使用不同的实例而执行不同操作. 多态性是对象多种表现形式的体现. 现实中,比 ...

  9. Java学习笔记二十四:Java中的Object类

    Java中的Object类 一:什么是Object类: Object类是所有类的父类,相当于所有类的老祖宗,如果一个类没有使用extends关键字明确标识继承另外一个类,那么这个类默认继承Object ...

随机推荐

  1. 【转载】C#中float.TryParse方法和float.Parse方法的异同之处

    在C#编程过程中,float.TryParse方法和float.Parse方法都可以将字符串string转换为单精度浮点类型float,但两者还是有区别,最重要的区别在于float.TryParse方 ...

  2. 设置vue-quill-editor禁止输入或编辑

    <quill-editor class="ql-editor" v-model="form.content" ref="myQuillEdito ...

  3. 使用 audioqueue 播放PCM数据

    // // MainViewController.h // RawAudioDataPlayer // // Created by SamYou on 12-8-18. // Copyright (c ...

  4. HDU1213通畅工程-并查集求解

    并查集的经典题目. 并查集.经典题目是HDU1232通畅工程. 题目描述: 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省政府"畅通工程"的目标 ...

  5. mongodb replica-set

    mongodb 主从复制 MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系 ...

  6. vsftp网络服务

    1. vsftp概述 FTP是File Transfer Protocol(文本传输协议)的简称,用于Internet上的文件的双向传输.使用FTP传输时,具有一定程度的危险性,因为数据在因特网上面是 ...

  7. Linux操作系统启动故障排错之"/sbin/init"文件被删除恢复案例

    Linux操作系统启动故障排错之"/sbin/init"文件被删除恢复案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.删除"/sbin/ini ...

  8. MySQL/MariaDB数据库的触发器

    MySQL/MariaDB数据库的触发器 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.触发器概述 1>.什么是触发器 触发器的执行不是由程序调用,也不是由手工启动,而是 ...

  9. Java中线程池,你真的会用吗?ExecutorService ThreadPoolExcutor

    原文:https://www.hollischuang.com/archives/2888 在<深入源码分析Java线程池的实现原理>这篇文章中,我们介绍过了Java中线程池的常见用法以及 ...

  10. SQL中and和or的区别是?

    今天有这样得一个需求,如果登陆人是客服的话,会查询订单是’该客服’以及还没有匹配客服的,刚开始想的是直接在sql语句上拼写  or  assigned_id is null  的,测试了一下发现这样的 ...