黑马程序员-Java的基础(语义、语法和函数)
2015-12-01 10:03
323 查看
-----------android培训、java培训、java学习型技术博客、期待与您交流!------------
Java中基本问题要点总结
1、Java不支持多行注释;
/*
/* */ 到这里就结束了
*/
2、编程解题方式
/*
需求:
思路:
1、
2、
实现步骤;
1、
2、
*/
3、标识符不能以数字开头;
‘’字符常量的使用;
“”、“a”都叫字符串常量;
4、long、float和double类型
long l = 41l;(注:41后面加上l标识一下);
float f = 10.3f或者(float)10.3(注:因为10.3默认是double类型,所以需要标识);
5、自动类型提升和强制类型转换问题
byte b=3;
b= b+2;//注:会发生错误,需要强制类型转换。b = (byte)(b+2)
//float和int的结果是float的。
float a = 10.3f;
int b = 5;
float c = a+b;
Systme.out.println('a'+0);//98
6、%运算:余数和被模数的符号一直,例如 -5%2=-1
7、重载操作符:+
字符串数据和任何数据使用—+,都是相连接,最后都会变成字符串。
8、运算符的优先级
System.out.println("5+5="+(5+5));//10
9、转移字符:通过\来转变后面字母或者字符号含义。
\n:换行;
\r:linux和dos中是回车键;windows系统中,回车符是由两个字符来表示\r\n;
\b:退格,相当于backspace;
\t:制表符,相当于tab键。
System.out.println(“hello \n world!”);//结果:hello
world!
System.out.println("\"hello world!\"");
char ch = '\n';
char c = '你';
10、单目运算符:
+=、-=、/=、%=
byte b = 3;
b+=2; //注:会做自动的转换动作。
11、java中,^、&和&&、|和||的作用一样(同时^、$和|还作为位运算符),只是,&和|的两边都运算,
而&&和||的两边会发生短路,即&&如果前面的为假,后面的就不
运算,而||如果前面的为真,后面的就不运算。
12、把乘法运算转换为移位运算,提高效率。
5*8 --> 5<<3;8是2的3次方。
利用2次^互换两个数(原理:一个数被异或两次还是他自己。)。
n= n^m;
m= n^m;//(n^m)^m
n= n^m;//(n^m)^n
12、三目运算符:
int a=1,b=2;
int c=(a+b>3?a++:++b);//也会发生短路问题。面试常考题。
int num = 60;
int n1 = num&15;
//也会发生强制类型转化,结果为int型;因为char自动提升为int类型,因为n1是int 类型。
System.out.println((n1>9)?((char)(n1-10+'A')):n1);
13、switch语句
switch(x)//x只支持byte、short、int和char类型。面试题会考。
for循环中定义变量的作用范围需要注意,出来for循环体,变量会在内存中删除;而
while定义的变量还会存在。
14、嵌套:语句嵌套和循环嵌套
大圈套小圈问题:循环嵌套,x和y之间必然存在某种关系;
主要修改y的初始化值或者y的判断条件表达式;例如:九九乘法表。
15、 break和continue:
break标签:是直接跳到标签标示的末尾;continue标签:是跳到标签标示的地方再次执行。
//break和continue语句的作用范围;
break;//break cannot be used outside of a loop or a switch
//break和continue单独存在时,下面不能有任何语句,因为执行不到。
for(int x =1;x<3;x++){
continue;
System.out.println("x= "+x); //Unreachable code 编译错误
}
16、return问题
for (int i = 0; i <3; i++) {
System.out.println("return test!");
//Unreachable code
return ;
System.out.println("here!");
//return直接退出函数,不会执行其后面对的内容
if(i==2){
return;
}
System.out.println("here2!");
}
//当函数的返回值类型为void时,函数中的return语句可以省略
不写,系统编译时会自动添加。
17、返回值为void的函数不能直接在System.out.println()中打印。
18、函数的重载和覆盖
重载:参数个数或者参数类型不同(含有顺序),例如类的构造函数;注意
不能利用返回值类型进行重载,但重载函数的返回值
类型可以不同。
优化:重载函数之间可以进行互相调用。
覆盖:完全相同的参数个数或者参数类型,但函数体内容不同,
例如继承中的子类覆盖父类的方法。
Java中基本问题要点总结
1、Java不支持多行注释;
/*
/* */ 到这里就结束了
*/
2、编程解题方式
/*
需求:
思路:
1、
2、
实现步骤;
1、
2、
*/
3、标识符不能以数字开头;
‘’字符常量的使用;
“”、“a”都叫字符串常量;
4、long、float和double类型
long l = 41l;(注:41后面加上l标识一下);
float f = 10.3f或者(float)10.3(注:因为10.3默认是double类型,所以需要标识);
5、自动类型提升和强制类型转换问题
byte b=3;
b= b+2;//注:会发生错误,需要强制类型转换。b = (byte)(b+2)
//float和int的结果是float的。
float a = 10.3f;
int b = 5;
float c = a+b;
Systme.out.println('a'+0);//98
6、%运算:余数和被模数的符号一直,例如 -5%2=-1
7、重载操作符:+
字符串数据和任何数据使用—+,都是相连接,最后都会变成字符串。
8、运算符的优先级
System.out.println("5+5="+(5+5));//10
9、转移字符:通过\来转变后面字母或者字符号含义。
\n:换行;
\r:linux和dos中是回车键;windows系统中,回车符是由两个字符来表示\r\n;
\b:退格,相当于backspace;
\t:制表符,相当于tab键。
System.out.println(“hello \n world!”);//结果:hello
world!
System.out.println("\"hello world!\"");
char ch = '\n';
char c = '你';
10、单目运算符:
+=、-=、/=、%=
byte b = 3;
b+=2; //注:会做自动的转换动作。
11、java中,^、&和&&、|和||的作用一样(同时^、$和|还作为位运算符),只是,&和|的两边都运算,
而&&和||的两边会发生短路,即&&如果前面的为假,后面的就不
运算,而||如果前面的为真,后面的就不运算。
12、把乘法运算转换为移位运算,提高效率。
5*8 --> 5<<3;8是2的3次方。
利用2次^互换两个数(原理:一个数被异或两次还是他自己。)。
n= n^m;
m= n^m;//(n^m)^m
n= n^m;//(n^m)^n
12、三目运算符:
int a=1,b=2;
int c=(a+b>3?a++:++b);//也会发生短路问题。面试常考题。
int num = 60;
int n1 = num&15;
//也会发生强制类型转化,结果为int型;因为char自动提升为int类型,因为n1是int 类型。
System.out.println((n1>9)?((char)(n1-10+'A')):n1);
13、switch语句
switch(x)//x只支持byte、short、int和char类型。面试题会考。
for循环中定义变量的作用范围需要注意,出来for循环体,变量会在内存中删除;而
while定义的变量还会存在。
14、嵌套:语句嵌套和循环嵌套
大圈套小圈问题:循环嵌套,x和y之间必然存在某种关系;
主要修改y的初始化值或者y的判断条件表达式;例如:九九乘法表。
15、 break和continue:
break标签:是直接跳到标签标示的末尾;continue标签:是跳到标签标示的地方再次执行。
//break和continue语句的作用范围;
break;//break cannot be used outside of a loop or a switch
//break和continue单独存在时,下面不能有任何语句,因为执行不到。
for(int x =1;x<3;x++){
continue;
System.out.println("x= "+x); //Unreachable code 编译错误
}
16、return问题
for (int i = 0; i <3; i++) {
System.out.println("return test!");
//Unreachable code
return ;
System.out.println("here!");
//return直接退出函数,不会执行其后面对的内容
if(i==2){
return;
}
System.out.println("here2!");
}
//当函数的返回值类型为void时,函数中的return语句可以省略
不写,系统编译时会自动添加。
17、返回值为void的函数不能直接在System.out.println()中打印。
18、函数的重载和覆盖
重载:参数个数或者参数类型不同(含有顺序),例如类的构造函数;注意
不能利用返回值类型进行重载,但重载函数的返回值
类型可以不同。
优化:重载函数之间可以进行互相调用。
覆盖:完全相同的参数个数或者参数类型,但函数体内容不同,
例如继承中的子类覆盖父类的方法。
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树
- [原创]java局域网聊天系统