java基础语法学习笔记(二)

六、字符串

java没有内置的字符串类型,而是在标准java类库中提供了一个预定义类String。每个用双引号括起来的字符串都是String类的一个实例:

String a = “”; //an empty string

String greeting = “Hello”;

String 类没有提供用于修改现存字符串的方法。所以,在java文档中将String类对象称为不可变字符串。

String类的substring方法可以从一个较大的字符串提取出一个子串。

java语言通过 + 号连接两个字符串。

可以使用equals方法检测两个字符串是否相等。如果字符串s与字符串t相等,则表达式s.equals(t)返回true;否则,返回flase。要想检测两个字符串是否相等,而不区分大小写,可以使用equalsIgnoreCase方法。注意,一定不能使用==运算符检测两个字符串是否相等。这个运算符只能够确定两个字符串是否被放置在同一个位置。

七、输入输出

使用到Scanner类,熟悉一下里面的几个方法nextLine(),nextInt()等。

八、控制流程

块是指由一对花括号括起来的若干条简单的java语句。块确定了变量的作用域。一个块可以嵌套在另一个块中。但是,不能在嵌套的两个块中声明同名的变量。

条件语句的格式为 if(condition) statement 这里的条件必须用括号括起来。else部分是可选的。else与最邻近的if构成一组。重复地交替出现if.else if是很常见的一种情况。

while循环,当条件为true时,执行一条语句(块),格式为while(conditin) statement。如果开始循环条件就为false,则循环体一次也不执行。如果希望循环体至少执行一次,使用do/while循环语句现实现,格式为do statement while (condition)

for循环语句是支持迭代的一种通用结构,使用每次迭代之后更新的计数器或类似的变量来控制迭代次数。如:

for(int i = 1;i<= 10; i ++)

{

System.out.println(i);

}

多重选择语句,switch

break语句、continue语句。

九、大数值

如果基本的整数和浮点数精度不能满足需求,就可以使用java.math包中的两个很有用的类:BigInteger和BigDecimal。这两个类可以处理任意长度的数值。BigInteger类实现了任意精度的整数运算,BIgDecimal实现了任意精度的浮点数运算。

使用静态的valueOf方法可以把普通的数值换为大数值:BigInteger a = BigInteger.valueOf(100);可惜的是,不能使用人们熟悉的算术运算符(如+和*)处理大数值,而需要使用大数值类中的add和multiply方法。

BigInteger c = a.add(b); //c = a + b

BigInteger d = c.multiply(b.add(BigInteger.valueOf(2))); //d = c * ( b + 2)

 

java.math.BigInteger 1.1

BigInteger add(BigInteger other)

BigInteger subtract(BigInteger other)

BigInteger multiply(BigInteger other)

BigInteger divide(BigInteger other)

BigInteger mod(BigInteger other)

返回这个大整数和另一个大整数的和、差、积、商以及余数。

BigDecimal add(BigDecimal other)

BigDecimal subtract(BigDecimal other)

BigDecimal multiply(BigDecimal other)

BigDecimal divide(BigDecimal other,RoundingMode mode) 5.0

返回这个大小数与另一个大小数的和、差、积、商。要想计算商,必须给出舍入方式(rounding mode)。RoundingMode.HALF_UP是在学校中学习的四舍五入方式。

十、数组

数组是一种数据结构,用来存储同一类型值的集合。通过一个整数型下标访问数组中的每一个值。声明数组变量需要指出数组类型(数组元素类型后面[])和数组的名字。如声明了整型数组a:  int[] a; 使用new运算符来创建数组。

int[] a = new int[100];

一旦创建了数组,就不能再改变它的大小(当然,可以改变每一个数组元素)。如果需要在运行过程中扩展数组的大小,就应该使用另一个数据结构——数组列表。

for each循环  for(variable:collection) statement   例如:

for(int element:a)

System.out.println(element);

数据初始化以及匿名数组,在java中,提供了一种创建对象并同时赋予初始化值的简化书写形式。如:

int[] smallPrimes = {2,3,5,7,11,13};

注意,这里不需要调用new。甚至还可以初始化一个匿名数组:

new int[] {17,19,23,29,31,37};

在java中,允许将一个数组变量拷贝给另一个数组变量。这时,两个变量将引用同一个数组:

int[] luckyNumbers = smallPrimes;

luckyNumbers[5] = 12;//not smallPrimes[5] is also 12

数组拷贝使用System类的arraycopy方法。System.arraycopy(from,fromindex,to,toIndex,count);

数据排序使用Arrays类中的sort方法:int[] a = new int[10000];Arrays.sort(a);这个方法使用了优化的快速排序算法。

Math.random()方法,返回一个0~1之间(含0不含1)的随机浮点数。

二维数组的声明:double[][] balances;

Java实际上没有多维护数组,只有一维数组。多维数组解释为数组的数组。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值