杰普Java笔试_杰普Core Java课程笔记1

——年金波老师上课笔记

编译执行java文件

F:\杰普培训笔记>javac -d . ch01/HelloWorld.java

F:\杰普培训笔记>java ch01.HelloWorld

Hello World!

F:\杰普培训笔记>java ch01/HelloWorld这样也可以

Hello World!

生成Javadoc:标准的注释文档(html)

F:\杰普培训笔记\core_java>javadoc -d doc ch02

F:\杰普培训笔记\core_java>javadoc -author -version -d doc ch02

window下默认字符编码:GBK

linux下的默认字符编码:utf-8

生成javadoc:标准的注释文档(html)

javadoc -d doc ch02;(不显示单行注释和多行注释。不显示)

win下默认的字符编码是:gbk

linux下默认编码是:utf-8

-d:生成的文档放在哪里

-author:生成作者

-version:生成版本

java api用javadoc来生成的

java内存模型

1.堆区(heap):放置新生成的对象

2.栈区(stack):存在我们程序运行过程中的变量

变量:内存节点的值可以被重写

常量:内存节点的值不可以被重写

3.方法区:方法的信息,程序运行过程中类的信息

4.常量区静态存储区:存放程序运行过程中的常量

程序中随着数据的增加,堆地址不断地向高地址增加,栈地址不断地向低地址减小

String a ="abc";//常量区

String b =newString ("abc");//堆区

String c =newString ("abc");

String d ="abc";

a==b错b==c错(两个不同的对象)a==d对

==:用来比较地址(对于对象来说),比较值(对于基本类型)

java运行环境的搭建

JDK:JAVA DEVELOPMENT TOOLKIT //java开发

JRE:JAVA RUNTIOME ENVIRONMENT //java运行环境

jdk:编译源代码同时运行class

jre:运行class文件

配置环境变量

Unix:PATH:命令搜索路径

cat .bashrc

oracle_home :说明了oracle的安装路径

java_home

env查看所有环境变量

将java_home的bin路径添加到path里面

unix用':'分隔路径

path=$path:$java_home/bin

配置:

source.bashrc:环境变量立刻生效。

java中的类型

java是强类型语言,在定义变量的时候必须声明变量的类型

弱类型:声明变量不需要指定的类型语言

html css js对于js来说是弱类型语言

在js里面声明任何一个变量都用变量一个声明var

强类型的好处:在编译期进行类型检查,减少程序出错的概率。

强类型的坏处:灵活性差

1.基本类型

八种:

表示整数的:4个int(32位),long(64位),short(16位),byte(8位)

表示小数的(浮点数):2个float,double

表示布尔类型的:boolean(true|false)表示判断条件

便是字符类型:char

2.引用类型

object类:任何自定义的类都继承object

表示字符串的:多个字符

String用来声明字符串(java.long.String)

ch02/PrimitiveTest.java

引用类型:类类型

类:对现实实体的抽象

包含属性和方法(函数)

属性:描述现实的实体

Person:name gender age

方法:操纵属性

java中的基本数据类型

例1:

packagech02;

publicclassPrimitiveTest

{

publicstaticvoidmain(String []args)

{

intivar1=0x11;//16进制

intivar2=011;//8进制

intivar3=17;//10进制

floatfvar1=12.5e5f;

doubledvar1=0.1234d;

System.out.println("fvar1="+fvar1);

System.out.println("dvar1="+dvar1);

booleanflag=true;

System.out.println("boolean:"+flag);

System.out.println("ivar1="+ivar1);

System.out.println("ivar2="+ivar2);

System.out.println("ivar3="+ivar3);

chargender='F';

chartest='\u0065';//unicode码

System.out.println("gender:"+gender);

System.out.println("test:"+test

例2:

//java中的基本数据类型.

publicclassPrimitiveTypeTest {

//private static PrimitiveTypeTest primitiveType;

privateinti1;

publicintgetI1()

{

returni1;

}

publicInteger getI2()//调用它是因为自动拆箱、装箱,所有不报错

{

returni1;

}

publicintobtainInt()

{

returni1;

}

/**

public void initVal()

{

System.out.println("-----------------initVal int i1:"+i1);

primitiveType=new PrimitiveTypeTest();

}

*/

privateInteger i2;

publicInteger getInteger()

{

returni2;

}

privatebyteb1;

publicByte getB1(){

returnb1;

}

booleanbool;

publicBoolean getBoolean()

{

returnbool;

}

shortsrt;

publicshortgetShort()

{

returnsrt;

}

longlg;

publiclonggetLong()

{

returnlg;

}

floatflt;

publicfloatgetFloat()

{

returnflt;

}

doubledble;

publicdoublegetDouble()

{

returndble;

}

charcha;

publicchargetChar()

{

returncha;

}

publicstaticvoidmain(String[]args){

PrimitiveTypeTest primitiveType=newPrimitiveTypeTest();

// byte

System.out.println("基本类型:byte二进制位数:"+Byte.SIZE);

System.out.println("包装类:java.lang.Byte");

System.out.println("最小值:Byte.MIN_VALUE="+Byte.MIN_VALUE);

System.out.println("最大值:Byte.MAX_VALUE="+Byte.MAX_VALUE);

//Byte b1=new Byte("0");

//System.out.println("Byte默认赋值为:"+b1);

System.out.println("byte默认赋值为:"+primitiveType.getB1());

System.out.println("-----------------------------------");

//-------------------short-----------------------

System.out.println("基本类型:short二进制位数:"+Short.SIZE);

System.out.println("包装类:java.lang.Short");

System.out.println("最小值:Short.MIN_VALUE="+Short.MIN_VALUE);

System.out.println("最大值:Short.MAX_VALUE="+Short.MAX_VALUE);

System.out.println("short默认赋值为:"+primitiveType.getShort());

//Short s1;

//short s2;

//System.out.println("Short默认赋值为:"+(s1==0));

//System.out.println("short默认赋值为:"+s2);

System.out.println("-----------------------------------");

//-------------------------int-------------------------

System.out.println("基本类型:int二进制位数:"+Integer.SIZE);

System.out.println("包装类:java.lang.Integer");

System.out.println("最小值:Integer.MIN_VALUE="+Integer.MIN_VALUE);

System.out.println("最大值:Integer.MAX_VALUE="+Integer.MAX_VALUE);

//Integer i1;

//System.out.println("Integer默认赋值为:"+(i1==0));

//只有通过new了之后才能取到默认值

System.out.println("int默认赋值为:"+primitiveType.getI1());

System.out.println("int默认赋值为:"+primitiveType.getI2());

System.out.println("int默认赋值为:"+primitiveType.obtainInt());

System.out.println("Integer默认赋值为:"+primitiveType.getInteger());

//System.out.println("int默认赋值为:"+i1);

System.out.println("-----------------------------------");

//--------------------------long-------------------

System.out.println("基本类型:long二进制位数:"+Long.SIZE);

System.out.println("包装类:java.lang.Long");

System.out.println("最小值:Long.MIN_VALUE="+Long.MIN_VALUE);

System.out.println("最大值:Long.MAX_VALUE="+Long.MAX_VALUE);

System.out.println("long默认赋值为:"+primitiveType.getLong());

//Long l1;

//long l2;

//System.out.println("Long默认赋值为:"+(l1==0));

//System.out.println("long默认赋值为:"+l2);

System.out.println("-----------------------------------");

//------------------------float---------------------------

System.out.println("基本类型:float二进制位数:"+Float.SIZE);

System.out.println("包装类:java.lang.Float");

System.out.println("最小值:Float.MIN_VALUE="+Float.MIN_VALUE);

System.out.println("最大值:Float.MAX_VALUE="+Float.MAX_VALUE);

System.out.println("float默认赋值为:"+primitiveType.getFloat());

//Float f1;

//float f2;

//System.out.println("Float默认赋值为:"+(f1==0));

System.out.println("-----------------------------------");

//-------------------------double------------------------

System.out.println("基本类型:double二进制位数:"+Double.SIZE);

System.out.println("包装类:java.lang.Double");

System.out.println("最小值:Double.MIN_VALUE="+Double.MIN_VALUE);

System.out.println("最大值:Double.MAX_VALUE="+Double.MAX_VALUE);

System.out.println("double默认赋值为:"+primitiveType.getDouble());

//Double d1;

//double d2;

//System.out.println("Double默认赋值为:"+(d1==0));

//System.out.println("double默认赋值为:"+d2);

System.out.println("-----------------------------------");

//---------------------char----------------------

System.out.println("基本类型:char二进制位数:"+Character.SIZE);

System.out.println("包装类:java.lang.Character");

//以数值形式而不是字符形式将Character.MIN_VALUE输出到控制台

System.out.println("最小值:Character.MIN_VALUE="

+(int)Character.MIN_VALUE);

//以数值形式而不是字符形式将Character.MAX_VALUE输出到控制台

System.out.println("最大值:Character.MAX_VALUE="

+(int)Character.MAX_VALUE);

System.out.println("char默认赋值为:"+primitiveType.getChar());

//Character c1;

//char c2;

//System.out.println("Character默认赋值为:"+(c1=='\0'));

//System.out.println("char默认赋值为:"+c2);

System.out.println("-----------------------------------");

//-----------------------Boolean---------------------

System.out.println("包装类:java.lang.Boolean");

Boolean b=newBoolean(false);

System.out.println("boolean默认赋值为:"+primitiveType.getBoolean());

System.out.println("-----------------------------------");

}

}

二进制:原码、反码、补码

对于有符号的数而言(Java中全都是有符号的数)二进制的最高位是符号位:0表示正数,1表示负数

正数的原码,反码,补码都一样(直接为此数二进制数表示)

负数的原码,符号为1,其余各位为此数的二进制表示

负数的反码=它的原码符号不变,其它位取反(1à0,0à1)

负数的补码=它的反码+1

0的反码、补码都是0

java中没有无符号数,换言之,java中的数都是有符号的

在计算机运算的时候,都是以补码的方式运算的

例:1-2=1+(-2)

计算[1+(-2)]在计算机中是以补码的方式运算的,首先计算:

[1的补码]+[(-2)的补码]

[1的补码]=【0000000000000000000000000000001】

[(-2)的原码]=【1000000000000000000000000000010】

[(-2)的反码]=【1111111111111111111111111111101】

[(-2)的补码]=【1111111111111111111111111111110】

[1+(-2)的补码]=[1的补码]+[(-2)的补码]=【1111111111111111111111111111111】

然后,将[1的补码]+[(-2)的补码]=[(1+(-2))的补码]à[1+(-2)的原码]:

[1+(-2)的补码– 1]=【1111111111111111111111111111110】

[(1-2)原码]= [{1+(-2)的补码– 1}符号位不变,其它各位取反]=【1000000000000000000000000000001】

即:[(1-2)原码]=【1000000000000000000000000000001】=-1

位运算符:

按位与&:两位全为1,结果为1

按位或|:两位有一个为1,结果为1

按位异或^:两位一个为0,一个为1,结果为1

按位取反~:0à1,1à0

例:

~-5=4 (在计算机中,取反运算符是给一个数补码取反)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值