JAVA心德与每日笔记

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));
	}
}

=================================================================

位运算符:位运算符是对二进制的直接运算

运算符(&)说明(与运算)

运算符(!)说明(或运算)

运算符(^)说明(异或运算)

运算符(~)说明(非运算)

运算符(<<)说明(左移)

运算符(>>)说明(右移)

运算符(>>>)说明(无符号右移)


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值