顺序结构是Java默认的执行流程,
按照代码顺序,从上到小依次进行
注意
- 表达式:(将要匹配的值) 取值为byte、short、int、char。JDK5以后可以是枚举,JDK7以后可以是String。
- case:后面跟的是要和表达式进行比较的值 (被匹配的值)
- break:表示中断,结束的意思,用来结束switch语句
- default:表示所有情况都不匹配的时候,就执行该处的内容和if语句的else相似。
- case后面的值只能是字面量,不能是变量
- case给出的值不允许重复
如果没有加上break,就会产生穿透,会继续向下依次进行表达式,直到遇到break
import java.util.Scanner;public class exerciseXunhuan {/*需求:给你一个整数X。
如果x是一个回文整数,打印 true ,否则,返回 false
解释:回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数
例如,121 是回文,而123 不是* */public static void main(String[]args){System.out.println("请输入一个整数");//获取到输入的值Scanner sc = new Scanner(System.in);int num = sc.nextInt();//设置一个变量去保存num初始值,便于最后的比较int temp = num;//定义一个变量去接收返回的逆序数int x= 0;while (num != 0){int ge = num%10;//改变每一次进入当前循环的值,使得每次进入都获取到原来数的前一位的上一位数num /= 10;//逆序数x= x*10 + ge;}System.out.println(x);if(x==temp){System.out.println(true);}else{System.out.println(false);}}
}
先执行前面的代码,后判断,如果为假,就跳出循环,如果为真,就继续循环
数组指的是一种容器,可以用来存储同种数据类型的多个值
建议:容器类型与存储类型一致
容器在存储的时候会进行隐式转换
就是在内存中,为数组开辟空间,并将数据存入容器中的过程
第一种:格式: 数据类型 数组名 = new 数据类型 [] {元素1,元素2,元素3......};
int arr = new int [] {1,2,6,3};
(建议)
第二种:格式: 数据类型 数组名 [] = {元素1 , 元素2,..........};
int arr [] = {1,2,56,2,5};
格式: 数据类型 数组名 = new 数据类型 [数组长度]
int arr = new int [5];
动态初始化:手动指定数组长度,由系统给出默认初始化值
只明确元素个数,不明确具体数值,推荐使用动态初始化
静态初始化:手动指定数组元素,系统会根据元素个数,计算出数组的长度
需求中已经明确了要操作的具体数据,直接静态初始化即可。
格式: 数组名 [索引];
索引:也叫下标,角标,是从0开始逐渐递增的,连续不断的
public class busssss {public static void main(String[]args){int arr [] = {1,4,6,2,52,5,6};for(int i = 0 ; iSystem.out.println(arr[i]);}}
}
注意:
从JDK8开始,取消方法区,新增元空间。把原来方法区的多种功能进行拆分有的功能放到了堆中,有的功能放到了元空间中。
- 栈区:方法运行时使用的内存,比如main方法运行,进入方法栈中执行
- 堆区:存储对象或者数组 , new来创建的,都存储在堆内存
- 方法区:存储可以运行的class文件
- 本地方法栈:JVM在使用操作系统功能的时候使用,和我们开发没有用
- **寄存器:**给CPU用的,和开发无关
因为他们指向的都是同一个地址空间,所以当其中一个发生了改变,另外一个也会发生改变
上一篇:Tesla都使用什么编程语言?
下一篇:智能优化算法之蚁群算法