java杂记

2016-08-15


1、Java简述
2、JDK JRE JVM
   JVM(java virtual machine)java虚拟机:他保障了java的一次编程,到处运行的效果,这是因为java程序不是在操作系统上运行的,而是在java虚拟机
上运行的,而java虚拟机又是在操作系统上运行,所以只要某个系统安装了java虚拟机就可以运行java的所有程序,而无需改变java代码。
3、java的数据类型
3.1基本数据类型 值类型 byte short char int long float double boolean 
byte:用8个二进制数来存储一个整数
011001011
一个二进制数叫比特位(bit)
8bit=1Byte(字节)
1024Byte=1KB
1024KB=1MB
1024MB=1GB
1024GB=1TB
数值在计算机内部是用补码的形式存储的:
补码:正数的补码就是源码 10:00001010
     负数的补码是绝对值的源码按位取反再末位加1
-10:00001010->11110101+1->11110110\
  
byte的最大值:0111 1111 +127 2^7-1
 最小值:1000 0000 -128 -2^7
short:用16个二进制数来存储一个整数
最大值:2^15-1
最小值:-2^15
int:用32个二进制数来存储一个整数
最大值:2^31-1
最小值:-2^31
long:用64个二进制数来存储一个整数
最大值:2^63-1
最小值:-2^63
long型变量在赋值的时候,如果数值超出int范围需要在后面加L
float:单精度浮点类型,在赋值时后面要加F
这是因为如果后面不加任何东西,系统默认数值为int

double:双精度浮点类型,所有的小数值默认是double类型
boolean:只有两个值,true和false
char:用16个bit存放单个字符'a',或者用unicode表示'\u0061'
转义字符:\t \r  \\ 

3.2引用类型(new 出来的) 
3.3常量:运行的时候值不能变
字面值常量:
a、字符串常量"abc"
b、整数值常量:默认的都是int类型,在给变量赋值的时候会自动转换
如果在变量的范围内,会自动赋值;如果不在,会报错:可能损失精度
有四种表现形式:
二进制:0-1
八进制:0-7
十进制:0-9
十六进制:0-f
c、浮点数常量:默认的都是double,如果用存成float,后面加f/F
d、字符常量:'a' '\u0061' 0000 0000 0110 0001
e、布尔常量:true、false
f、空常量:null
3.4数据类型转换问题:
a、自动类型转换
char->int
byte-> short ->int ->long-> float-> double
两个不同类型的数值进行数学运算的时候,会自动向多的类型拓展
byte short char类型的变量,在进行数学运算的时候,会自动变成int再计算
b、强制类型转换
多的类型向少的类型转换,需要强制类型转换,有可能会损失精度。
3.5变量
a、声明:数据类型 变量名=值;
b、命名规则:1、必须要遵守的:
a、只能包含字母、数字、_、$
b、数字不能放在第一个
c、不能用系统的关键字、保留字
2、要求遵守:
a、首字母小写
b、尽量取有意义的单词
c、采用驼峰命名法(后面的每个词的首字母大写)
c、变量的取值范围:离它最近的{}
在相同的作用域中不可以有同名的
不同进制的转换:
十进制负数转换为内存中的二进制存储方式:
先将绝对值转换为二进制,在转换为补码


**********************************************************************************************


2016-08-16


将一个String变为int/lont/short...
int/long/short = Integer.parseInt/Long.parseLong/Short.parseShort...(str);
1、运算符
1.1 算术运算符 + - * / % ++ --
加法(+):数学运算和字符串连接
除法(/):运算时类型不同,自动向大数变换,运算从左到右
c++ ,先将值赋给别人,再自增
++c , 先自增,在赋给别人
x = 5;int p = x++ + ++x + x++;  p = 5 + 7 + 7 = 19;
1.2 位运算法 & | ~ ^ >> << >>>
&:同为1 则为1
^:相同为0 相异为1
<<:向左移动,低位补0,在有效范围内,快速的*2的幂
>>:向右移动,高位补符号位,在有效范围内,快速的/2的幂
>>>:无符号右移,最高位补0
byte在运算时自动转换为int
1.3 关系运算符  > < == != <= >= 运算结果是boolean

1.4 逻辑运算符  && || ! 操作数也是boolean 运算结果是boolean
运算符的优先级  ! > && > ||
1.5 条件运算符
三目运算符: 判断条件(boolean值) ? 结果1(true): 结果2(false)


2、条件控制语句
2.1、if else

5.2、switch(只能是整数,枚举) case
3、循环控制语句
3.1 do while 循环
3.2 while 循环
3.3 for 循环


4、利用Scanner从屏幕输入
首先导入Scanner所在的包:import java.util.*;
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
5、获取本机的月份值:日期(DATE)
首先导入包:import java.util.*;
Calendar c = Calendar.getInstance();   //获取日历对象
int month = c.get(Calendar.MONTH)+1;    //获取当前月份


**********************************************************************************************


2016-08-17


1、保留两位小数:
System.out.printf ("结果为:%.2f" , sum) ;


2、break 跳出循环 
   continue 结束本次循环
   return 返回方法外部
3、sqrt()平方根



























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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值