Java核心技术1/2/3:JAVA概述

1. Java白皮书的关键术语:

    简单性, 面向对象,网络技能,健壮性,安全性,体系结构中立,可移植性,解释型,高性能,多线程,动态性。

3.1 一个简单的java程序

    public class FirstSample{

        public static void main(String[] args){ System.out.println("");}

    }

    java对大小写敏感。

    访问修饰符:控制程序的其他部分对这段代码的访问级别。

    class表明java程序中的全部内容都包含在类中。

    FirstSample类名,规范:驼峰。源代码的文件名必须与公有类的名字相同,用.java作扩展名。

    一对花括号表示方法体的开始与结束。

    object.method(parameters),"."点号表示函数调用。括号里为参数,没有参数也需要圆括号。

3.2 注释

    单行注释//~~~,多行注释/* ~~~ */,文档注释/** ~~~ */,

    /**/多行注释不能嵌套。

3.3 数据类型

    java是强类型语言,必须为每一个变量声明一个类型。

    8种基本类型:byte(1字节),char,short(2字节),int(4字节),long(8字节),float,double,boolean。

    java有一个能够表示任意精度的算数包,称为big number。

    原码:符号位加真值的绝对值,8位的原码范围[1111 1111,0111 1111],即[-127,+127]

    反码:正数的反码是其本身,负数的反码是符号位不变,其余位取反,[1000 0000,0111 1111]

    补码:反码+1,正数的补码是其本身,负数的补码是其符号位不变,其余位取反再+1,[1000 0001,0111 1111]

    8位二进制数,使用原码的表示范围是[1111 1111,0111 1111],即[-127,+127],使用补码的表示范围是[1000 0000,0111 1111],即[-128,127],补码多表示一个最低数。

3.4 变量

    不要使用未被初始化的变量。使用final声明常量。使用static final声明一个类常量,可以在一个类中的多个方法中使用。

3.5 运算符

    +,-,*,/。当参与/运算的两个操作数都是整数时,表示整数除法,否则表示浮点数除法。

    自增自减运算符:++,--。关系运算符:==,!=,>,<,>=,<=。逻辑运算符:&&,||,!。三元表达式:?:。

    位运算:&,|,^,-,>>,<<

    数值转换:无信息丢失的转换:byte->short->int->long,char->int,int->double。可能有精度损失的转换:int->float,long->float,long->double。

       当使用两个数值进行二元计算时,需要先转换成同一类型,再进行计算:1。如果有一个是double,则另一个转成double。2.否则,有一个是float,另一个转成float。3.否则,有一个是long,另一个转成long。4.否则,都转成int。

    强制类型转换。

3.6 字符串

    subString(beginIndex, endIndex)提取子串,子串长度=endIndex-beginIndex。

    +拼接字符串。

    不能修改java字符串中的字符,但是可以修改字符串变量,让它引用另一个字符串。

    使用s.equals(t)检测两个字符串是否相等。

    代码点与代码单元。

    构建字符串:StringBuilder。StringBuffer线程安全,但效率低。

3.7 输入输出

        读取输入。

        格式化输出。

        文件输入与输出:文件读入:Scanner in= new Scanner(new File("abc"));。文件输出:PrintWriter out = new PrintWriter("abc.txt");

3.8 控制流程

        块作用域:{}。不能在嵌套的两个块中声明同名的变量。

        条件语句:if else

        循环语句:while(){},do{}while()

        确定循环:for(){}

        多重选择:switch case

        中断控制流程:break,continue

3.9 大数值,big number

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

3.10 数组

        通过下标直接访问。一旦创建了数组,就不能再改变它的大小。

        for each循环,不必指定下标。打印数组:Arrays.toString(a)。

        数组初始化:int[] a = {1,2,3};,匿名数组:a  = new int[] {1,2,3,4};。允许数组长度为0。

        数组拷贝:1.两个数组变量引用同一个数组:int[] a = b;。2.只拷贝值:int[] a = Arrays.copyOf(b, length);

        数组排序:Arrays.sort(),使用了优化的快速排序算法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值