Java SE基础知识基本学完了,我学习的方式比较传统,就是通过记录课程中的疑点或重点,然后自问自答来加强记忆的,并做相关练习。以下是我学习小结:
1.SUN、ASCII、JRE和JDK的英文全称是什么? |
2.为了搭建临时Java环境,如何调用命令行窗口临时改变环境变量? |
3.JVM是先查询classpath或path还是先查询当前路径? |
4.Java标识符的组成和定义合法标识符的规则?如果一个标识符含多个单词呢? |
5.常量的分类和八、十六进制的表示方法? |
6.boolean类型变量能强制转换为其他类型吗? |
7.算数运算符的运算结果都是int类型吗?赋值运算符呢? |
8.int a=b=c=5语句编译能通过吗?为什么? |
9.赋值运算 b+=a等同于b=b+a吗?int b=5;b+=++b的结果是? |
10.逻辑运算符有哪些?逻辑运算符对操作数类型有什么要求? |
11.位运算符有哪些?位运算符对操作数类型有什么要求,运算结果的类型? |
>>>和>>有什么区别? |
12.如何不用第三方变量对两个整数变量的值进行互换? |
13.switch多分支语句对表达式结果和常量值的类型要求? |
14.常用转移字符\t、\r、\n、\b、\f、\0、\u0000、\u0022的含义? |
练习: |
1.请用“查表法”实现十进制向二进制或八进制或十六进制的转换 |
1.SUN Microsystems(SUN的由来Stanford University Network)、Environment、Java Development Kit |
American Standard Code for Information Interchange、Java Runtime |
2.set paht="JDK bin所在的路径";%paht% |
set classpath=.;"要执行的类所在路径" |
3.对于path,是先查询当前路径;对于classpath,则反之 |
4.Java标识符由数字、英文字母和_$组成,合法标识符不能以字母开头或用关键字 |
含多个单词时,包名:xxxyyyzzz 类和接口名:XxxYyyZzz 变量名和方法名:xxxYyyZzz |
常量名:XXX_YYY_ZZZ |
5.常量分类:整数、小数、布尔型、字符、字符串、null |
八进制表示方法:0617 十六进制表示方法:0xFA65 |
6.不能 |
7.不是,如果操作数中有变量,则看操作数最大存储容量的类型,常量小数为double,整数为 |
int;如果操作数都是都是常量,则看运算结果,预算结果为[-128,127]上的整数时,为byte, |
其他结果,同操作数中有变量一样处理。赋值运算除了=,其他的都进行了强转 |
8.不能,因为赋值运算从右到左。编译会提示变量c未定义 |
9.b+=a等同于(b的数据类型)( b+a),结果为11,a=b+(4+8)的运算过程是:b的值先进内存, |
而不是先算4+8,遵循从左到右优先,读到第一个+号时,就先看左边了。 |
10.逻辑运算符&&、||、! 要求操作数只能是boolean类型 |
11.位运算符有&、|、~、^、>>、<<、>>> |
操作数为整数,运算结果和算数运算规则一样,>>>是无符号右移 |
12.根据a==(a^b^b) |
13.要求表达式的值和常量值必须为整型(int)或者字符型(可以是字符串) |
14.制表符、回车符、换行符、退格、换页、空格、空格、双引号 |
练习:
功能类:
package com.itheima.day01;
/**
*练习:1.请用“查表法”实现十进制向二进制或八进制或十六进制的转换<br>
*<code>Sysconvert</code>类为工具类,类中成员都是静态方法,该类功能如下:<br>
*1.十进制整数向二进制的转换<br>
*2.十进制整数向八进制的转换<br>
*3.十进制整数向十六进制的转换
*@author R
*/
public class SysConvert
{
/**
*将十进制整数转换成二进制.
*<p>该方法可用Integer.toBinaryString(inti)实现<br>
*@parami 要转换为字符串的整数
*@return转换后的二进制数的字符串表示
*/
publicstatic String toBinaryString(int i)
{
char[]sheet={'0','1'};
StringBuffertransfer=new StringBuffer();
for(;i!=0;)
{
transfer.append(sheet[i%2]);
i=i/2;
}
Stringresult=transfer.reverse().toString();
returnresult;
}
/**
*将十进制数转换成八进制.
*<p>该方法可用Integer.toOctalString(inti)实现<br>
*@parami 要转换为字符串的整数
*@return转换后的八进制数的字符串表示
*/
publicstatic String toOctalString(int i)
{
char[]sheet={'0','1','2','3','4','5','6','7'};
StringBuffertransfer=new StringBuffer();
while(i!=0)
{
transfer.append(sheet[i%8]);
i=i/8;
}
Stringresult=transfer.reverse().toString();
returnresult;
}
/**
*将十进制数转换成十六进制.
*<p>该方法可用Integer.toHexString(inti)实现<br>
*@parami 要转换为字符串的整数
*@return转换后的十六进制数的字符串表示
*/
publicstatic String toHexString(int i)
{
char[]sheet={'0','1','2','3','4','5','6','7',
'8','9','A','B','C','D','E','F'};
StringBuffertransfer=new StringBuffer();
while(i!=0)
{
transfer.append(sheet[i%16]);
i=i/16;
}
Stringresult=transfer.reverse().toString();
returnresult;
}
}
主函数:
package com.itheima;
import com.itheima.day01.*;
/**
*<code>Master</code>类为主程序所在类
*@author R
*@version Version 201401
*/
public class Master
{
publicstatic void main(String[] args)
{
inti=127;
System.out.println(i+"转换为二进制数结果:"+SysConvert.toBinaryString(i));
System.out.println(i+"转换为八进制数结果:"+SysConvert.toOctalString(i));
System.out.println(i+"转换为十六进制数结果:"+SysConvert.toHexString(i));
}
}