java 基础复习 --小知识点
来源:互联网 发布:mac能用excel吗 编辑:程序博客网 时间:2024/05/02 04:40
Java复习小知识点
2014年6月11日 星期三
1、赋值运算
Byte s=4;
// s=s+4; 编译失败
原因:它进行两步操作,先运算后赋值,s会被提升为int类型,运算的结果还是int类型无法赋值给short类型
S+=4; //编译成功
原因:它进行一次赋值操作,+=在给s赋值自动完成了强转操作。
2、异或^ : 两边相同为false,不同为true
3、&和&&的比较:
&:无论左边是true还是false,右边都运算
&&:左边为false时,右边不运算。
单或和双或的比较:
| : 两边都参与运算
|| :当左边为true是,右边不运算
4、位运算
小练习:
1、以最有效的方式算出2*8等于几?2<<3;
2、对两个整数变量的值进行互换(不要求第三方变量)
Int m= 8 , n=3;
(1)使用第三方变量(常用)
int temp;
temp=n;
n=m;
m=temp;
(2) 不使用第三方变量
n=n+m; //如何n和m的值非常大容易超int类型的范围
m=n-m;
n=n-m;
(3) 使用异或运算
n=n^m;
m=n^m; //(n^m)^m
n=n^m; //n^(n^m)
System.out.println(“m”+m, “n”+n);
6、switch分支选择特点:
*只接受byte、short、int、char型变量
*case和default的位置可以随意调,只有在case中没有确定的值时才执行default结果。
*结束执行:遇到break,或执行到语句末尾。
*如果匹配的case或者default没有对应的break,则继续向下执行直到遇到break或者执行到语句末尾。
例:输出月份
int x=4;
switch(x){
case 3;
case 4;
case 5;
System.out.println(x+"春季");
break;
case 6;
case 7;
case 8;
System.out.println(x+"夏季");
break;
case 8;
case 9;
case 10;
System.out.println(x+"秋季");
break;
case 11;
case 12;
case 1;
System.out.println(x+"冬季");
break;
default :
System.out.println("输入错误!");
}
一般情况下,如果是以上四种类型的话就选择switch,比if要高效。当结果为Boolean或者区间的时候则用if较为方便
七、while和for的小区别:
1、变量有自己的作用域,对于for来讲,如果用于控制循环的增量定义在for语句中,那么该变量旨在for语句中执行完毕,该变量在内存中被释放。
2、while和for可以互换,如果需要定义循环增量则for循环更合适些。
总结:什么时候使用循环结构?
当要对某些语句执行很多次时就使用循环结构。
3、for循环中的表达式是不唯一的,而且初始值可以是一般表达式比如:
int x=1;for(System.out.println("a");x<3;System.out.println("c"),x++){System.out.println("d");//x++; }//adcdc
4、最简单的无限循环形式是?
for(;;){}
while(true){}
练习:1)打印1~10的和
package tan;public class testforloop {public static void main(String[] args) {int sum=0;for(int i=1;i<11;i++){sum=sum+i;}System.out.println("sum:"+sum);}}
这就是累加思想:通过变量来记录循环操作后的结果。
2)打印1~100之间7的倍数的个数
package tan;public class testforloop {public static void main(String[] args) {/**打印1~100之间7的倍数,并统计个数 * 思路: * 1、对1~100进行循环遍历 * 2、在遍历中,定义条件,只对7的倍数进行操作 * 3、7的倍数变化是不确定的,因此只要符合条件,要用一个变量来记录这个变化的次数 * 该变量随着7的倍数的出现而自增。 */ int x=0; for(int i=1;i<=100;i++){ if(i%7==0){ System.out.println("i="+i); x++; } } System.out.println("共有7的倍数"+x+"个"); }}
这就是计数器思想:通过变量来记录数据的状态变化。
八、for循环语句嵌套类型
打印 *****
****
***
**
*
//打印三角形,可以定义变量x,也可以不用for(int i=0;i<5;i++){for(int j=i;j<5;j++){System.out.print("*");}System.out.println();}
打印
*
**
***
****
*****
for(int i=0;i<5;i++){for(int j=0;j<=i;j++){System.out.print("*");}System.out.println();}
打印
1
12
123
1234
12345
for(int i=1;i<=5;i++){for(int j=1;j<=i;j++){System.out.print(j);}System.out.println();}
打印九九乘法表
1x1=1
1x2=2 2x2=4
1x3=3 2x3=6 3x3=9
1x4=4 2x4=8 3x4=12 4x4=16
1x5=5 2x5=10 3x5=15 4x5=20 5x5=25
1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36
1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49
1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64
1x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81
package tan;public class testforloop {public static void main(String[] args) {for(int i=1;i<10;i++){for(int j=1;j<=i;j++){System.out.print(j+"x"+i+"="+(i*j)+"\t");}System.out.println();} }}
打印出如下图形:
*
* *
* * *
* * * *
* * * * *
程序示例:
package tan;public class testforloop {public static void main(String[] args) {for(int i=0;i<5;i++){//打印空格for(int j=i+1;j<5;j++){System.out.print(" ");}//打印*for(int z=0;z<=i;z++){System.out.print("* ");}System.out.println();} }}
break和continue的区别比较:
package tan;public class testforloop {public static void main(String[] args) {//break w为标号可随意设置w:for(int i=0;i<3;i++){for(int j=0;j<4;j++){System.out.println("i="+i);break w;}}//continue只能作用域循环结构,结束本次循环继续下一次循环。for(int i=1;i<10;i++){if(i%2==0){continue;}System.out.println(i);//输出10以内的奇数} }}//注意break和continue单独存在时,下面可以有任何语句,但是下面的语句都执行不到
九、函数
1)返回真假值函数
package tan;public class testforloop {public static void main(String[] args) {System.out.println(compare(5,5)); }public static boolean compare(int a,int b){return a==b;//代码优化最简单的方式/*if(a==b)return true;else false;*///return (a==b)?true:false;}}
2)定义一个功能用于打印矩形
package tan;public class testforloop {public static void main(String[] args) {System.out.println(compare(6,3));drawDr();draw(6,6);drawDr();draw(8,9);drawDr(); }public static void draw(int row,int col){for(int i=0;i<row;i++){for(int j=0;j<col;j++){System.out.print("*");}System.out.println();}}public static boolean compare(int a,int b){return a==b;//代码优化最简单的方式}public static void drawDr(){System.out.println("---------------------------");}}
3)定义一个功能用于打印九九乘法表
package tan;public class testforloop {public static void main(String[] args) {print9x9(); }public static void print9x9(){for(int i=1;i<10;i++){for(int j=1;j<=i;j++){System.out.print(j+"x"+i+"="+(i*j)+"\t");}System.out.println();}}}
- java 基础复习 --小知识点
- Java基础复习,整理知识点
- 复习一:java基础知识点
- 复习二:java基础知识点
- 复习三:java基础知识点
- 复习四:java基础知识点
- 复习五:java基础知识点
- 复习六:java基础知识点
- 复习七:java基础知识点
- Java知识点复习1基础备忘
- JAVA复习知识点总结-基础篇
- struts2 复习小知识点
- mysql基础知识点复习
- linux基础知识点复习
- React 基础知识点复习
- JAVA基础复习中的知识点_基础部分
- Java基础复习:StringBuilder小练习
- JAVA基础复习中的知识点_进阶部分
- Blob、InputStream、byte[] 互转
- IOS中的log用法
- C++ virtual destructor
- UML之包图(Package diagram)
- C++栈的生长方向和函数传参压栈方式
- java 基础复习 --小知识点
- Erlang 又生虫了
- 什么是大数据?
- 林达华推荐的几本数学书
- Java POI的HelloWorld
- Android开发:在onTouchEvent中处理任意时间的长按事件
- 使用优先队列构建赫夫曼树
- Android中Bitmap、Drawable、byte[]转换
- 怎样培养独挡一面的能力