if循环
if(初始化表达式;布尔表达式;更新表达式) 里面三个表达式都不是必须的,但是分号是必须的
练习://找出1-100以内的素数,即为质数
int count=0;
for(int i=2;i<100;i++) {
boolean isshusu=true;
for(int j=2;j<i;j++) {
if(i%j==0) {
isshusu=false;
break;
}
}
if(isshusu) {
System.out.print(i+" ");
count++;
if(count%8==0) {
System.out.println();
}
}
}
方法:
[修饰符列表] 返回值类型 方法名(形式参数){
方法体
}
返回值类型为数据类型时;方法体中必须有return +值;
返回值类型为void时、方法体中不能有return +值;但是可以有return;当return执行时,当前方法结束;
多个形参是,必须用逗号隔开;调用方法时输入实际参数,实际参数必须与形式参数类型相同,数量相同;
方法只定义,不调用,是不会执行的,并且在JVM中也不会给该方法分配运行所属的内存空间。
在JVM内存划分上有这样三块主要的内存空间:
方法区内存
堆内存
栈内存
关于栈数据结果
栈:stack,是一种数据结构
数据结构是反应的是数据的存储形态
数据结构是独立的学科,不属于任何编程语言的范畴,只不过在大多数编程语言当中要使用数据结构。
座位程序员需要提前精通:数据结构+算法【计算机专业必修一门课程】
java程序员在不精通数据结构和算法的情况下,也可能进行java开发,因为java有一套庞大的类库支撑,别人写好了,直接用。【javaSe当中的集合章节使用了大量的数据结构】
常见的数据结构
数组
队列
栈
链表
二叉树
哈希表/散列表
.....
方法代码片段属于.class字节码文件的一部分,字节码文件在类加载的时候,将其放到了方法区当中。所以JVM中的三块主要的内存空间中方法区内存最先有数据。存放了代码片段。
代码片段虽然在方法区内存当中只有一份,但是可以被重复调用。
每一次调用的这个方法的时候,需要给该方法分配独立的活动场所,在栈内存中分配。【栈内存中分配方法运行的所属内存空间】
方法在调用的瞬间,会给该方法分配内存空间,会在栈中发送压栈动作,方法执行结束之后,给该方法分配的内存空间全部释放,此时发生弹栈动作。
压栈:给方法分配内存
弹栈:释放该方法的内存空间
局部变量在方法体中声明。局部变量在运行阶段内存在栈中分配。
最先调用的方法最后释放内存空间;后进先出,先进后出;