1.Java前置++与后置++
int i = 10;
int j = 0;
j = i++;
System.out.println(j);
int i = 10;
i = i++;
System.out.println(i);
int i = 10;
i++;
System.out.println(i);
int i = 10;
int j = 0;
j = ++i;
System.out.println(j);
if else语句
条件语句用于基于不同的条件来执行不同的动作。
if (条件)
{
当条件为 true 时执行的代码
}
else
{
当条件不为 true 时执行的代码
}
判断两个数大小的方法
public static int max2(int c,int d){
if(c > d){
System.out.println("c > d");
return c;
}else if(c == d){
System.out.println("c == d");
return -1;
}else{
System.out.println("c < d");
return d;
}
}
for循环语句
循环可以将代码块执行指定的次数。
语法:
for (语句 1; 语句 2; 语句 3)
{
被执行的代码块
}
语句 1 在循环(代码块)开始前执行,通常我们会使用语句 1 初始化循环中所用的变量。
语句 2 定义运行循环(代码块)的条件,通常语句 2 用于评估初始变量的条件。
语句 3 在循环(代码块)已被执行之后执行,通常语句 3 会增加初始变量的值。
求当前数字是否为素数的方法
public static boolean isPrime(int n){
for(int i = 2;i < n;i++){
if(n % i == 0){//布尔表达式
return false;
}
}
return true;
}
public static void swap(int a,int b){
int tmp = 0;
tmp = a;
a = b;
b = tmp;
}
1+2+3+n求和的方法
public static int sum(int n){
int tmp = 0;
for(int i=1;i <= n;i++){
tmp = tmp+i;
}
return tmp;
}
阶乘的方法
public static int fac(int n){
int rtv = 1;
for(int i = 2;i <= n;i++){
rtv = rtv*i;
}
return rtv;
}
乘法表
public static void muti(int n){
for(int i = 1;i <= n;i++){
for(int j = 1;j <= i;j++){
System.out.print(i+"*"+j+"="+i*j+" ");
}
System.out.println();
}
}
斐波那契数列
public static int fabonacio(int n){//n 第多少项
int f1 = 1;
int f2 = 1;
int f3 = 0;
for(int i = 2;i < n;i++){
f3 = f2+f1;
f1 = f2;
f2 = f3;
}
return f3;
}
break continue
break 语句用于跳出循环。
continue 用于跳过循环中的一个迭代。
1+2+3+4+ m > 1000
public static int fun4(){
int tmp = 0;
int i;
for(i = 1;;i++){//判断条件为下面if语句
tmp = tmp+i;
if(tmp > 1000){
break;//不会进行i++,直接跳出for循环
}
}
return i;
}
即能被3整除 也能被5整除的数字
public static void fun5(int n){
int i = 0;
for(i = 1;i <= n;i++){
if(i%15 != 0){
continue;//跳出本次循环
}
System.out.println(i);
}
}
switch语句
switch 语句用于基于不同的条件来执行不同的动作。
不能做switch参数的类型:boolean long float double
语法:
switch(n)
{
case 1:
执行代码块 1
break;
case 2:
执行代码块 2
break;
default:
n 与 case 1 和 case 2 不同时执行的代码
}
工作原理:首先设置表达式 n(通常是一个变量)。随后表达式的值会与结构中的每个 case 的值做比较。如果存在匹配,则与该 case 关联的代码块会被执行。请使用 break 来阻止代码自动地向下一个 case 运行。
实现以下要求:
A:打印80分以上
B:70-80
C :60-70
D :50-60
其他:没救了!!
switch(ch){
case 'A':
System.out.println("80分以上");
break;
case 'B':
System.out.println("70-80");
break;
case 'C':
System.out.println("60-70");
break;
case 'D':
System.out.println("50-60");
break;
default:
System.out.println("没救了");
break;
}
Java中final的用法
- 修饰基础数据成员:被final修饰的变量就是一个常量,只能赋值一次。
- 修饰类或对象的引用:在Java中,对象无法被修饰为final,而只能修饰对象的引用。指向的对象的数据依然可以被修改,不能修改的是本身的引用值,即不能再进行重赋值,也就是写死引用,但是不锁定那个对象内部的改变。当一个方法被修饰为final方法时,意味着编译器可能将该方法用内联(inline)方式载入,所谓内联方式,是指编译器不用像平常调用函数那样的方式来调用方法,而是直接将方法内的代码通过一定的修改后copy到原代码中。这样可以让代码执行的更快
- 修饰方法:修饰方法的final是指该方法不可被继承成员重新定义。(注意,这里所说的不能被重新定义,并不是指子类一定不能定义同名方法,如果父类的方法是私有类型,子类是允许定义该方法的,这里指的不能重新定义是指不能通过改写方法来使得方法重写的多态性得以实现。
- 修饰类:当一个类被修饰为final时,不允许该类被继承。
public static void main(String[] args) {
String str1 = "hello";//常量池
String str2 = "hel";
String str3 = str2+"lo";//运行的时候才可以确定
String str4 = "hel"+"lo";//编译期间可以确定的值
System.out.println(str1 == str3);//false
System.out.println(str1 == str4);//true
final String str5 = "hel";//编译的时候就可以确定
String str6 = str5+"lo";
System.out.println(str1 == str6);//true
}
交换两个数的值
public static void swap(int[] n)
{
int temp = n[0];
n[0] = n[1];
n[1] = temp;
}
public static void main(String[] args) {
int a=10;
int b=20;
int[] n ={a,b};
swap(n);
System.out.println("a:"+n[0]);
System.out.println("b:"+n[1]);
}