标签:lazy 无法 改变 while 循环 错误 dea byte can switch
cmd生成javaDoc文档:
javadoc -encoding UTF-8 -charset UTF-8 文件名.java
获取用户输入
Scanner input = new Scanner(System.in);
Scanner scanner = new Scanner(System.in);
通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前使用hasNext()与hasNextLine()来判断是否还有输入的数据
凡是属于IO流的类如果不关闭会一直占用资源,要养成好习惯用完就关掉
input.close();
next();不能得到带有空格的字符串
nextLine();可接受有空格的字符串
if单循环选择结构
if双选择结构
if多选择结构
嵌套的if结构
**switch多选择结构 ** (匹配一个具体的值)
case 穿透
反编译 将class文件复制到idea中
每一个对象都有一个hashcoud
while 循环
while(布尔表达式){
//循环内容
}
我们大多数情况是会让循环停下来的,我们需要一个让表达式失败的方式来结束循环
do...while循环
do{
? //代码语句
}while(布尔表达式);
do...while总是保证循环体会被至少执行一次,这是他们的主要差别(先执行后判断)
while则是先判断后执行
for循环
语法:
for(初始化;布尔表达式;更新){
//代码块语句
}
100.for快捷生成for
for死循环写法
for(;??{
}
//九九乘法表
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(i+"*"+j+"="+i*j+"\t");
}
System.out.println();
}
}
增强for循环
for(num1:array){}
break
在任何循环语句的主题部分,均可用break控制循环的流程。
break用于强行退出循环,不执行循环中剩余的语句。
continue
语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。
//标签
//求101-150之间的所有质数
//质数是指大于1的自然数中,只有1和他本身之外不再有其他因数的自然数
int count = 0;
outer:for (int i = 101; i < 150; i++) {
for (int j=2;j<i/2;j++){
if(i%j==0){
continue outer;
}
}
System.out.println(i+" ");
}
//打印三角形
for (int j = 1; j <= 5; j++) {
for (int t=5;t>=j;t--){
System.out.print("8");
}
for (int t=1;t<=j;t++){
System.out.print("*");
}
for (int t=1;t<j;t++){
System.out.print("*");
}
for (int t=5;t>=j;t--){
System.out.print("8");
}
System.out.println();
}
java方法
什么是方法
方法是语句的集合,它们在一起执行一个功能。
方法是解决一类问题的步骤的有序组合
方法包含于类对象中
方法在程序中被创建,在其他地方被引用
设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合,我们设计方法的时候最好保持方法的原子性,就是一个方法只完成1个功能,这样利于我们后期的扩展。
方法的定义和调用
修饰符 返回值类型 方法名(参数类型 参数名){
。。。
方法体
。。。
return 返回值;
}
//形式参数,用来定义作用的
//实际参数,实际调用传递给他的参数
方法重载
值传递(Java是值传递)
值传递相当于复制一份值(栈中),若对传递后的新值发生改变时只改变新值,而原值不发生改变
引用传递
引用传递是将指向堆的地址作为传递,对新复制的值改变时两个变量都改变,因为两个变量引用于同一地址。
字符串本身就是一个对象
方法重载的规则:
方法名必须相同。
参数列表必须不同(个数不同或类型不同以及参数排列顺序不同等)。
方法的返回类型可以相同也可以不同。
仅仅返回类型不同不足以成为方法的重载。
实现理论:
方法名称相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器报错。
命令行传参
main方法也是可以传递参数的
必须要通过src下包的路径才能执行,否则无法执行
D:\IDEACODE\JavaSE\基础语法\src\com\peng\go\method>javac Demo3.java D:\IDEACODE\JavaSE\基础语法\src\com\peng\go\method>java Demo3 错误: 找不到或无法加载主类 Demo3 D:\IDEACODE\JavaSE\基础语法\src\com\peng\go\method>cd../ D:\IDEACODE\JavaSE\基础语法\src\com\peng\go>cd../ D:\IDEACODE\JavaSE\基础语法\src\com\peng>cd../ D:\IDEACODE\JavaSE\基础语法\src\com>cd../ D:\IDEACODE\JavaSE\基础语法\src>java com.peng.go.method.Demo3.java 错误: 找不到或无法加载主类 com.peng.go.method.Demo3.java D:\IDEACODE\JavaSE\基础语法\src>java com.peng.go.method.Demo3 D:\IDEACODE\JavaSE\基础语法\src>this is doc ‘this‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。 D:\IDEACODE\JavaSE\基础语法\src>java com.peng.go.method.Demo3 this is doc args[0]this args[1]is args[2]doc D:\IDEACODE\JavaSE\基础语法\src>
可变参数
JDK1.5开始,Java支持传递同类型的可变参数给一个方法。
在方法声明中,在指定参数类型后面加一个省略号(...)。
一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。
public static void main(String[] args) {
method(1,1,2,3);
}
public static void method(double num1,int...num2){
System.out.println(num1+"\n"+num2[0]+" "+num2[1]+" "+num2[2]);
}
递归
递归结构包括两个部分:
递归头:什么时候不调用自身的方法,如果没有头,将陷入死循环。
递归体:什么时候需要调用自身的方法
//!5 5*4*3*2*1 阶乘,返回n的阶乘;
//!3 3*2*1
public static int f(int n){
if (n==1){
return 1;
}else{
return n*f(n-1);
}
}
边界条件:边界,程序可以执行到底,而不是无线掉自己
前阶段:当没有结果的时候会不停的调用自己直到边界
返回阶段:n*(n-1)
标签:lazy 无法 改变 while 循环 错误 dea byte can switch
原文地址:https://www.cnblogs.com/ywwl/p/13416535.html