(从算术运算符开始进行简单介绍) 1、算术运算符:算术表达式中包含多个基本数据类型的值时,整个算术表达式的类型会自动进行提升,提升到表达式中最高等级操作数同样的类型。
byte short char > int > long > float > double
2、当“+”操作中出现字符串时,这个“+”是字符串连接符,而不是算术运算符,当连续进行“+”操作时,从左到右逐个执行
3、数据输入 数据输入使用Scanner类,扫描输入文本,可以针对要处理的文本内容编写自定义的语法分析器 步骤:① 导包import java.utils.Scanner; ② 创建对象Scanner name =new Scanner(System.in); ,注意name是变量名,可以自己定义 ③ 接收数据 int i =name.next(); 只有i是变量名
常用Scanner方法:
数据类型 | 方法 |
---|
String | next() 查找并且返回来自下一个完整标记 | boolean | nextBoolean() 扫描解释为一个布尔值的输入标记并返回该值 | float | nextFloat() 将输入信息的下一个标记扫描为一个float | int | nextInt() 将输入信息的下一个标记扫描为一个int |
注意:nextFloat() 表示只读取float数据类型的值,不能读取其他的;next() 表示只读取到第一个空格处;nextLine() 表示读取到行末
import java.util.Scanner;
public class hello {
public static void main(String []args) {
Scanner name =new Scanner(System.in);
System.out.println("请输入两个整数:");
int a = name.nextInt();
int b = name.nextInt();
float sum = a+b;
System.out.println(sum);
请输入两个整数:
2
3
5.0
4、if 语句
if(关系表达式){
语句体;
}
若关系表达式的值为true则执行语句体,若不是则不执行
import java.util.Scanner;
public class hello {
public static void main(String []args) {
Scanner name =new Scanner(System.in);
System.out.println("请输入两个整数:");
int a = name.nextInt();
int b = name.nextInt();
if (a==b){
System.out.println("YES");
}
else {
System.out.println("NO");
}
}
}
请输入两个整数:
2
3
NO
5、switch语句
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
...
default:
语句体n;
break;
6、for循环语句
for(初始化语句;条件判断语句;条件控制语句){
语句体;
}
public class hello {
public static void main(String []args) {
int sum = 0;
for (int i = 1;i<6;i++){
sum+=i;
}
System.out.println(sum);
}
}
将1到5的数字累加起来输出它的和
15
7、while循环语句
while (条件判断语句){
循环体语句;
}
初始化语句;
while (条件判断语句){
循环体语句;
条件控制语句;
}
public class hello {
public static void main(String []args) {
int a = 1;
while (a<=10){
System.out.print(a+" ");
a++;
}
}
}
1 2 3 4 5 6 7 8 9 10
8、do…while语句
do{
循环体语句;
}while (条件判断语句);
do{
循环体语句;
条件控制语句;
}while (条件判断语句);
注意:continue 用在循环中,基于条件控制,跳过某次循环体内容的执行,继续下一次的执行;break 用在循环中,基于条件控制,终止循环体内容的执行,也就是说结束当前的整个循环
9、Random:用于产生一个随机数 ① 导包import java.util.Random; ② 创建对象 Random r=new Random(); ③ 获取随机数 int name=r.nextInt(10) 获取数据范围为0到10,包括0,但不包括10,同样name是变量名
import java.util.Random;
public class hello {
public static void main(String []args) {
Random num = new Random();
int x = num.nextInt(1,10);
System.out.print(x);
}
}
实例:猜数字
import java.util.Random;
import java.util.Scanner;
public class hello {
public static void main(String []args) {
Random num = new Random();
int x = num.nextInt(1,51);
Scanner nums = new Scanner(System.in);
int a = nums.nextInt();
while(x != a){
if(x>a){
System.out.println("小了,重新来:");
a = nums.nextInt();
}else if(x<a){
System.out.println("大了,重新来:");
a = nums.nextInt();
}
}
System.out.println("答对了");
}
}
4
小了,重新来:
10
小了,重新来:
20
小了,重新来:
50
大了,重新来:
30
小了,重新来:
40
大了,重新来:
35
大了,重新来:
33
大了,重新来:
31
答对了
10、数组(array)是一种用于存储多个相同类型的数据的存储模型 格式有两种:
int[] arr 定义了一个int类型的数组,数组名是arr
int arr[] 定义了一个int类型的变量,变量名是arr数组
·动态初始化 new是为数组申请内存空间
数据类型[]变量名 = new 数据类型[数组长度]
public class hello {
public static void main(String []args) {
int[] arr = new int[3];
arr[0] = 816;
System.out.println(arr[0]);
System.out.println(arr);
}
}
·静态初始化 初始化时指定每个数据的元素的初始值,由系统决定数组长度
数据类型[]变量名 = new 数据类型[](数据1,数据2,数据3...);
数据类型[]变量名 = {数据1,数据2,数据3....}
public class hello {
public static void main(String []args) {
int[] arr = {1,2,3};
System.out.print(arr+" ");
System.out.print(arr[2]);
}
}
[I@6d311334 3
·数组的遍历,这里的length表示求取数组的长度
public class hello {
public static void main(String []args) {
int[] arr = {1,2,3};
for(int i=0;i<arr.length;i++){
System.out.println(arr[i]);
}
}
}
·求取最值,这里求最小值:
public class hello {
public static void main(String []args) {
int[] arr = {615,816,1212,34};
int min = arr[0];
for(int i=1;i<arr.length;i++){
if(arr[i]<min){
min = arr[i];
}
}
System.out.println(min);
}
}
11、方法 ·方法定义:
public static void 方法名(){
方法体;
}
方法需要先定义再调用
public class hello {
public static void main(String []args) {
even_number();
}
public static void even_number(){
int number = 13;
if(number%2==0){
System.out.println(true);
}else{
System.out.println(false);
}
}
·带有参数的方法 定义:
public static void 方法名(数据类型 变量名){
方法体;
}
调用:
方法名(变量名/常量值);
import java.util.Scanner;
public class hello {
public static void main(String []args) {
Scanner name = new Scanner(System.in);
int num = name.nextInt();
even_number(num);
}
public static void even_number(int number){
if(number%2==0){
System.out.println(true);
}else{
System.out.println(false);
}
}
}
30
true
·带返回值方法 定义:(注意方法定义时return后面的返回值与方法定义上的数据类型要匹配)
public static void 数据类型 方法名(参数){
方法体;
return 数据
}
12、方法重载:多个方法在同一个类中;多个方法具有相同的方法名;多个方法的参数不相同,类型不同或者数量不同。
public class hello {
public static void main(String []args) {
System.out.println(compare(10,20));
}
public static boolean compare(long a,long b){
System.out.println("long");
return a==b;
}
public static boolean compare(int a,int b){
System.out.println("int");
return a==b;
}
public static boolean compare(short a,short b){
System.out.println("short");
return a==b;
}
}
13、方法参数传递:对于基本数据类型的参数,形参的改变,不影响实参的值。对于引用类型的参数,形参的改变,影响实参的值
(下一文章将进入Java最核心部分,面向对象啦)
|