JAVA学习笔记-基本程序设计结构

1.三种注释方式:⑴ //注释

                             ⑵ /*注释*/

                             ⑶ /**注释*/ (此方式可以用来自动地生成文档)


2.整型:  

类 型

存储需求

取值范围

char

                       2字节

byte

1字节

- 27~27-1

short

2字节

-215~215-1

int

4字节

-231~231-1

long

8字节

-263~263-1

float

4字节

double

8字节




3.按位运算符: &(”与“)、 |(”或“)、 ^(”异或“)、 ~(”非“)

   移位运算符:      <<运算符用0填充低位

                               >>>运算符将用0填充高位

                               >>运算符用符号位填充高位

                               木有<<<运算符。吐舌头

△负数的二进制表示:先将绝对值转换为二进制,求反码,求出反码后加1.

PS:对移位运算符右侧的参数需要进行模32的运算(如果左边的操作数是long类型,则需要对右侧的参数进行模64运算)。for example:1<<35和1<<3是一样的。因为java中的int型占4个字节,即32位,如果人为移动32位,那么结果无意义,所以先将移动的位数对32取模。


4.当两个不同类型的数值变量进行二元运算时,先要将两个操作数转换为同一种类型再进行运算。

   转换的优先顺序为:double>float>long>int

   窄化转换(long转化为int)需要进行强制类型转换,扩展转换(int转换为long)不必进行显式转换。


5.取模(mod)和取余(rem)的区别(此区别为在数学软件matlab中,java中只有取余运算%):

   当x和y的正负号一样时,两个函数的结果是相同的;

   当x和y的符号不同时,rem函数的结果的符号和x一样,mod函数的结果的符号和y一样;

   在java中,取余运算%的结果的符号和被除数一样!


6.大数值:

   如果基本的整数和浮点数不能满足需求,可以使用Math包中的BigInteger,BigDecimal。

   BigInteger实现任意精度的整数运算,BigDecimal实现任意精度的浮点数运算。

   定义一个BigInteger最常用的一种方法如下:

    BigInteger big=new BigInteger("10000000000000000000000");//该构造函数传入的参数为String类型
   另一种方法为:
    BigInteger val;
    val=BigInteger.valueOf(1000000000000000000L);//此方法传入的参数为long类型,所以传入的值不能超过Long.MAX_VALUE
   大数值的运算不同于普通数的+-*/,需要通过方法进行加减乘除运算,常见的方法为:
      static BigInteger valueOf(long val) ;//转换普通数值为大数值
      BigInteger add(BigInteger val) ;//加
      BigInteger subtract(BigInteger val) ;//减
      BigInteger multiply(BigInteger val) ;//乘
      BigInteger divide(BigInteger val) ;//除
      int compareTo(BigInteger val) ;//比较两个大数值,若相等返回0,小于返回负数,否则返回正数
      BigInteger mod(BigInteger m) ;//取余


7.命令行参数:

   每一个java应用程序都有一个带String args[]参数的main方法,这个参数表明main函数可以接收一个字符串数组,即命令行参数。

   eg:如果以java Message -g cruel world 运行Message,则args[0]="-g",args[1]="cruel",args[2]="world"


8.java中的包装类,装箱,拆箱:

    java中有8种基础类型,分别是 byte,short,int,long,double,float,boolean,char

   每种类型都有各自的包装类,包装类将基础数据类型包装成对象,并提供相应的方法,8种基础类型对应的包装类分别为:

    boolean--Boolean      char--Character

    byte--Byte                  short--Short

    int--Integer                 long--Long

    float--Float                 double--Double

   所谓装箱,就是把基本类型用相应的包装类包起来,使他们成为对象。

	Integer i=new Integer(10);//手动装箱

   所谓拆箱,就是将Integer这样的引用类型的对象重新简化为值类型的数据。

        int j=i.intValue();//手动拆箱

   JDK1.5以后可以自动装箱和拆箱:

Integer i=10;//自动装箱
int j=new Integer(10);//自动拆箱


9.==比较的是对象的引用,equals()默认比较的是对象的引用,但一般会覆盖equals()方法用于比较值。


10.当使用逻辑运算符的时候可能会出现短路现象,即一旦能够确定整个表达式的值,就不再计算表达式剩余的部分。


11.0X开头的表示十六进制,0开头的表示八进制,f/F结尾的表示float,d/D结尾的表示double,l/L结尾的表示long。


12.5个存储数据的地方:
⑴寄存器:位于处理器内部,最快的存储区,由编译器根据需求分配,在程序中无法控制
⑵栈(堆栈):位于RAM-随机访问存储器,存放基本类型的变量和对象的引用变量
⑶堆:位于RAM-随机访问存储器,存放new出来的对象
⑷常量存储:放在ROM-只读存储器
⑸非RAM存储:有些数据存活于程序外,如流对象,即对象转化为字节流,可用于发送。持久化对象,即将对象存储在磁盘上。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值