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. np.random模块的使用介绍

    np.random模块常用的一些方法介绍 名称 作用 numpy.random.rand(d0, d1, …, dn) 生成一个[d0, d1, …, dn]维的numpy数组,数组的元素取自[0, ...

  2. linux 中常遇到的问题

    1.上传文件是速度为零 xshell连接对应的Ubuntu服务器上在Ubuntu服务器上安装lrzszsudo apt install lrzsz xshell连接对应的centos服务器上 yum  ...

  3. scrapy 下载器中间件 随机切换user-agent

    下载器中间件如下列表 ['scrapy.downloadermiddlewares.robotstxt.RobotsTxtMiddleware', 'scrapy.downloadermiddlewa ...

  4. 【Python】异常

    捕获异常 try: num = int(input("请输入一个整数:")) result = 8 / num print(result) except ValueError: p ...

  5. MySQL/MariaDB数据库的复制加密

      MySQL/MariaDB数据库的复制加密 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MySQL的安全问题 1>.基于SSL复制 在默认的主从复制过程或远程连接 ...

  6. MySQL/MariaDB数据库的事务和隔离级别

      MySQL/MariaDB数据库的事务和隔离级别 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.事务概述 1>.事务Transactions 一组原子性的SQL语句 ...

  7. 用Queue控制python多线程并发数量

    python多线程如果不进行并发数量控制,在启动线程数量多到一定程度后,会造成线程无法启动的错误. 下面介绍用Queue控制多线程并发数量的方法(python3). # -*- coding: utf ...

  8. SignalR入门二、使用 SignalR 2 实现服务器广播

    一.概述 这篇教程通过实现一个股票报价的小程序来讲解如何使用SignalR进行服务器端的推送,服务器会模拟股票价格的波动,并把最新的股票价格推送给所有连接的客户端,最终的运行效果如下图所示. 教程:使 ...

  9. 性能:Output层面

    将数据保存到MySQL中 import java.sql.DriverManager import org.apache.spark.storage.StorageLevel import org.a ...

  10. C++中指针形参问题

    1.C++指针做形参,会有很多陷阱,很多时候也许并不如我们想的那样.比如我们想通过一个函数改变指针的值: #include<</SPAN>iostream> using nam ...