2015年12月17日
今天开始了第一天学习JAVA,进行第一次编译“HelloWorld”遇到了一些问题。
/**
*Description:HelloWorld程序<p>
*Create Date:2015-12-17<p>
*Author:GuoFeng<p>
*Modified Date:2015-12-17<p>
*Modified By:Guo<p>
*/
public class HelloWorld{
/**
*Description:这是程序的入口点<p>
*参数:字符串数组<p>
*/
public static void main(String []args){
//打印输出到控制台
System.out.println("HelloWorld");
System.out.print("HelloWorld<p>");
System.out.print("Hello\tWorld");
//System.out.print("Hello\tWorld");
}
/**
*Description:显示输出个人信息
*@return String 姓名
*@param content 个人资料
*
*/
public String toString(String content){
}
}
=================================================================
JavaDoc支持HTML代码与标记@。
@author 作者名
@version 版本标识
@parameter 参数及其意义
@since 最早使用该方法/类/接口的JDK版本
@return 返回值
@throws 异常类及抛出条件
@deprecated 引起不推荐使用的警告
@see reference
@override 重写
=================================================================
警告1:<p>标记为空
处理方法:
错误1:编码GBK的不可映射字符
处理方法:将JAVA文件用记事本打开,再另存为时,编码处选择ANSI.
错误2:不允许使用自关闭元素
处理方法:将<br/>换为<p>
错误3:缺少返回语句
处理方法:
=================================================================
public class VarDemo{
public static void main(String []args){
//先声明后赋值
int number1;
number1=1;
System.out.println(number1);
//声明的同时做初始化
int number2=2;
System.out.println(number2);
//方法中所声明的变量必须初始化以后才能使用
//int number3;
//System.out.println(number3);
//同时声明多个变量
//int number4,number5,number6=4;//number4和number5没有初始值只有number6有初始值
//System.out.println(number4);
//System.out.println(number5);
//System.out.println(number6);
//用连等号尝试会提示找不到符号
//int number7=number8=number9=5;
//System.out.println(number7);
//System.out.println(number8);
//System.out.println(number9);
int number10=6,number11=7,number12=8;
System.out.println(number10);
System.out.println(number11);
System.out.println(number12);
//不能声明同名变量
//int number12=9;
//System.out.println(number12);
//关键字不能作为变量名
//int final=10;
//System.out.println(final);
//变量名是区分大小写的
int myScore=11;
int myscore=12;
System.out.println(myScore);
System.out.println(myscore);
//变量是可变的
int myScore1=13;
int myscore2=14;
myScore1=15;
System.out.println(myScore1);
System.out.println(myscore2);
}
}
=================================================================
JAVA中基本数据类型的取值范围
数据类型布尔型:关键字boolean:在内存中占用字节数1个字节(8位):取值范围true,false:默认值false;
数据类型字节型:关键字byte:在内存中占用字节数1字节(8位):取值范围-128~127:默认值0;
数据类型字符型:关键字char:在内存中占用字节数2字节(16位):取值范围0~65535:默认值‘\u0000’;
数据类型短整型:关键字short:在内存中占用字节数2字节(16位):取值范围-32768~32767:默认值0;
数据类型整型:关键字int:在内存中占用字节数4字节(32位):取值范围-2^31~2^31-1:默认值0;
数据类型长整型:关键字long:在内存中占用字节数8字节(64位):取值范围-2^63~2^63-1:默认值0;
数据类型单精度浮点型:关键字float:在内存中占用字节数4字节(32位):取值范围1.4013E-45~3.4028E+38:默认值0.0F;
数据类型双精度浮点型:关键字double:在内存中占用字节数8字节(64位):取值范围4.9E-324~1.7977E+308:默认值0.0D;
=================================================================
十进制转换为二进制:105.625=1101001.101
整数部分:105/2=52余1,52/2=26余0 ,26/2=13余0,13/2=6余1,6/2=3余0,3/2=1余1,1/2=0余1
小数部分:0.625*2=1.25取1,0.25*2=0.5取0,0.5*2=1取1
=================================================================
二进制转换为十进制:1101.101=13.625
整数部分:1*2^3+1*2^2+0*2^1+1*2^0=8+4+1=13
小数部分:1*2^-1+0*2^-2+1*2^-3=0.5+0.125=0.625
整数加小数13.625
=================================================================
十六进制转换为二进制:3A6.B8=1110100110.10111
整数部分:3A6=0011 1010 0110
小数部分:B8=1011 1000
=================================================================
二进制转换为十六进制:1011101001.110101B=2E9.D4
整数部分:0010 1110 1001 =2E9
小数部分:1101 0100 =D4
=================================================================
八进制转换为二进制:73.16=111011.001110
整数部分:73=111 011
小数部分:16=001 110
=================================================================
二进制转换为八进制:01101010001.100101010=1521.452
整数部分: 01 101 010 001 =1521
小数部分: 100 101 010 =452
=================================================================
2015年12月20日:
public class DataDemo1{
public static void main(String [] args){
byte age=127;
System.out.println(age);
//超出最大范围值
//byte age=128;
//System.out.println(age);
//类型不兼容
//byte age=ture;
//System.out.println(age);
short number1=32767;
int number2=100;
long number3=2000L;
System.out.println(number1);
System.out.println(number2);
System.out.println(number3);
//浮点数测试
float data1=10.5F;
double data2=10.456;
double data3=0.123;
double data4=0.3456e3;
System.out.println(data1);
System.out.println(data2);
System.out.println(data3);
System.out.println(data4);
//boolean类型测试
boolean flag=true;
//flag=1;//数据类型不一致
System.out.println(flag);
//字符型,必须用单引号括起来
char c1='A';
//在JAVA中字符char类型使用的是Unicode字符编码
char c2='\u0041';
char c3=65;
System.out.println(c1);
System.out.println(c2);
System.out.println(c3);
}
}
public class DataDemo2{
public static void main(String [] args){
//自动类型转换(隐式转换)(小转大)
byte num1=10;
int num2=num1;
System.out.println(num2);
long num3=num2;
System.out.println(num3);
float f=10.5f;
double d=f;
System.out.println(f);
System.out.println(d);
int num4=100;
float num5=num4;
System.out.println(num5);
//字符赋值给整型变量
char c='a';
int num6=c;
System.out.println(c);
System.out.println(num6);
System.out.println(c+6);
//强制类型转换(大转小)
int num7=20;
short num8=(short)num7;
System.out.println(num8);
float f1=65.625f;
char c1=(char)f1;
System.out.println(f1);
System.out.println(c1);
float f2=(float)10.22;
System.out.println(f2);
int num10=65;
char num11=(char)num10;
System.out.println(num11);
int num12=4;
double num13=2.6;
double res=num12+num13;
System.out.println(res);
int num14=4;
double num15=2.6;
int res1=num14+(int)num15;
System.out.println(res1);
//总结byte<short(char)<int<long<float<double
}
}
=================================================================
//字符串加任何数据类型都是字符串连接(算数运算符)
运算符(+)说明(数学加运算)计算(X=5+5)结果(10)
运算符(+)说明(字符串连接)计算(X="AA"+"BB")结果(AABB)
运算符(-)说明(数学减运算)计算(X=5-5)结果(0)
运算符(-)说明(取负数)计算(Y=5;X=-Y)结果(-5)
运算符(*)说明(数学乘运算)计算(X=5*5)结果(25)
运算符(/)说明(数学除运算)计算(X=5/2)结果(2)
运算符(%)说明(数学余运算)计算(X=5%2)结果(1)
运算符(++)说明(数学自增运算)计算(X=3;X++)结果(4)
运算符(--)说明(数学自减运算)计算(X=2;X--)结果(1)
=================================================================
复合赋值运算符:(假设X=10)
运算符+=表达式X+=5计算X=X+5结果15
运算符-=表达式X-=5计算X=X-5结果5
运算符*=表达式X*=5计算X=X*5结果20
运算符/=表达式X/=5计算X=X/5结果2
运算符%=表达式X%=5计算X=X%5结果0
================================================================
关系运算符:
运算符(==)说明(相等于)计算(1==1)结果(true)
运算符(!=)说明(不等于)计算(1!=1)结果(false)
运算符(>)说明(大于)计算(1>2)结果(false)
运算符(<)说明(小于)计算(1<2)结果(true)
运算符(>=)说明(大于等于)计算(1>=2)结果(false)
运算符(<=)说明(小于等于)计算(1<=2)结果(true)
=================================================================
public class OperatorDemo1{
public static void main(String [] args){
int num1=10;
int num2=8;
int res=num1+num2;
System.out.println(res);
String str="操作结果:";//引用数据类型
System.out.println(str+res);//字符串连接
System.out.println(str+res+10);//字符串连接
System.out.println(str+(res+10));//字符串连接
System.out.println(str+res+10.5);//字符串连接
System.out.println(str+res+'男');//字符串连接
System.out.println(str+res+true);//字符串连接
System.out.println(res+10+str);//字符串连接
//System.out.println(str+num1-num2);//错误
System.out.println(str+(num1-num2));
System.out.println(str+num1*num2);
System.out.println(str+(num1*num2));
System.out.println(str+num1/num2);
System.out.println(str+(num1/num2));
System.out.println(str+num1%num2);
System.out.println(str+(num1%num2));
//当单独使用++时候,不管++在前后,都是自身加一.
num1++;//num1=num1+1;
System.out.println(str+num1);
++num2;
System.out.println(str+num2);
num1--;
System.out.println(str+num1);
--num2;
System.out.println(str+num2);
//赋值运算符
//当有赋值运算符的时候,++在后面,那么会先赋值然后再做自身加一运算.
int data=num1++;//int data=num1;num1++;
System.out.println(data);
System.out.println(str+data+",num1="+num1);
//当有赋值运算符的时候,++在前面,那么会先做自身加一运算然后再赋值.
int data1=++num1;//num1++;int data=num1;
System.out.println(str+data1+",num1="+num1);
num2+=2;//num2=num2+2;
System.out.println("num2="+num2);
short s=5;
//s=s+3;//会把s赋值为整型
s+=3;
//s+=3;//会在原来数值上加三
System.out.println("s="+s);
//关系运算符
System.out.println(num1==num2);
System.out.println(num1!=num2);
System.out.println(num1>=num2);
System.out.println(num1<=num2);
}
}
=================================================================
2015年12月28日
逻辑运算符:
运算符(&)说明(短路与)表达式(条件1&条件2)描述(仅仅两个条件同时为真,结果为真,若1为假,则不判断2)
运算符(||)说明(短路或)表达式(条件1||条件2)描述(只要两个条件有一个为真,结果为真,若1为真,不判断2)
运算符(!)说明(非)表达式(!条件)描述(条件为真时,结果为假;条件为假时,结果为真)
运算符(&)说明(与)表达式(条件1&条件2)描述(仅仅两个条件同时为真,结果为真,若1为假,则2还需判断)
运算符(!)说明(或)表达式(条件1!条件2)描述(只要两个条件有一个为真,结果为真,若1为真,2还需判断)
运算符(^)说明(异或)表达式(条件1^条件2)描述(当一个为真,一个为假时,结果为真)
public class OperatorDemo2{
public static void main(String []args){
int num1=10;
int num2=8;
int num3=5;
boolean res=false;
System.out.println((num1>num2)&&(num2>num3));
System.out.println((num1<num2)&&(num2>num3));
System.out.println((num1<num2)&&(res=num2>num3));//短路与,条件1不成立,条件2就不会执行
System.out.println(res);
System.out.println((num1<num2)||(num2>num3));
System.out.println((num1>num2)||(res=num2>num3));//短路或
System.out.println(res);
System.out.println(!(num1>num2));
System.out.println(!(num1<num2));//逻辑非
System.out.println((num1<num2)&(res=num2>num3));//逻辑与,不管前面表达式为真假,后面都会运行
System.out.println(res);
System.out.println((num1>num2)|(res=num2<num3));//逻辑或,不管前面表达式为真假,后面都会运行
System.out.println(res);
System.out.println((num1>num2)^(num2>num3));//逻辑异或,两个条件中一个真一个假才会为真
System.out.println((num1>num2)^(num2<num3));
}
}
=================================================================
位运算符:位运算符是对二进制的直接运算
运算符(&)说明(与运算)
运算符(!)说明(或运算)
运算符(^)说明(异或运算)
运算符(~)说明(非运算)
运算符(<<)说明(左移)
运算符(>>)说明(右移)
运算符(>>>)说明(无符号右移)