Java基础(2)

Math类

随机数的生成在JAVA中依靠一个:Math,这个类中有一个方法专门用来生成随机数.

返回带正号double值,该值大于等于0.0小于1.0

Math.random();------>[0.0,1.0]

假如我们想要返回[1,6)

(int)(Math.random()*6)+1

输入类型与变量不匹配时

1.hasNextInt

含义:如果通过使用nextint()办法,此扫描器输入信息中的下一个标记可以解释为默认基数中的一个Int值,则返回TRUE,返回类型为boolean

同样的还有 hasNextFloat. hasNextDouble, hasNextByte, hasNextboolean

break

1.break 停止的是离它最近的循环(默认)

2.多层循环要是想停止其他的循环,加标签outer1,outer2…

outer://定义标签结束的位置
    while(1)
    {
        while(1)
        {
            if(i==23)
                break outer;//根据标签结束循环
        }
    }

continue

1.作用:停止本次循环,继续下一次循环(结束的循环是离它近的循环

2.同样的,多层循环要想停止其他循环,同样加标签即可

return

遇到return 结束当前正在执行的方法.

数组

数组创建

对于数组来说,创建成功后系统会给数组中的元素赋值:

整数型:0

浮点型:0.0

字符型:

Boolean:

数组的基本操作

遍历数组

1.遍历数组使用for循环即可,通过数组的length属性可获得数组的长度

在便利数组时,使用foreach语句会更简单

int arr[][]={{1,2,3},{2,3,4},{3,4,5}};
for(int x[],arr)
{
    for(int y,x)
    {
        System.out.println(y); 
    }
}

填充替换数组

数组中的元素定义完成之后,可以通过Arrays类的静态方法fill()来对数组中的元素进行替换。fill()方法有两种参数类型:

fill(int []a,int fromIndex,int toIndex,int value)

a:要进行填充的数组

fromIndex:要使用指定值填充的第一个元素的索引(包括

toIndex:要使用指定值填充的最后一个元素的索引(不包括

value:要存储在数组所有元素中的值

int arr[]=new int[4];
Arrays.fill(arr,1,2,8);

注:若是指定的索引位置大于或者等于要填充的数组的长度,则会报错

对数组进行排序

通过Arrays类的静态sort()方法可以实现对数组的排序。

Arrays.sort(object)

其中,object是指进行排序的数组名称。

import java.util.Arrays;

public class Train5{
    public static void main(String [] args)
    {
        int arr[]=new int[]={1,5,2,5};
		Arrays.sort(arr);
        for(int x:arr)
        {
            System.out.println(x);
        }
    }
}


复制数组

Arrays类的copyOf()方法与copyOfRange()方法可以实现对数组的复制。copyOf()方法是复制数组至指定长度,copyOfRAnge()方法则将指定数组的指定长度复制到一个新数组中

1.copyOf

copyOf(arr,int newlength)

arr: 要进行复制的数组

newlength:int 型常量,指复制后的新数组的长度。如果新数组的长度大于被复制的数组的长度,则用0填充(根据复制数组的类型来决定填充的值,整型数组用0填充,char型数组则使用NULL来填充),如果新数组的长度小于被复制的数组的长度,则从arr的第一个元素开始截取到满足新数组长度为止

2.copyOfRange

copyOfRange(arr,int formIndex,int ToIndex)

arr:要进行复制的数组对象。

formIndex:指定开始复制数组的索引位置。fromIndex必须在0至整个数组的长度之间(包括)

toIndex:要复制范围的最后索引位置。可大于数组arr的长度。(不包括)

数组查询

Arrays类的binarysearch()方法,可使用二分搜索法来搜索指定数组,以获得指定对象,该方法返回要搜索元素的索引值,

1:

binarySearch(Object[]a,Object key)

a:要搜索的数组

key: 要搜索的值

如果key包含在数组中,则返回搜索值的索引,否则返回-1或者“-”,插入点是搜索键将要插入的那一点,即第一个大于此键的元素索引。

注:必须在进行此调用之前对数组进行排序,如果没有对数组进行排序,则结果是不确定的。如果数组包含多个带有指定值的元素,则无法保证找到的是哪一个

2:

binarySearch(Object[]a,intfromIndex,intToIndex,Object   key)

a:要进行检索的数组

fromIndex:指定范围的开始处索引(包含)

toIndex:指定范围的结束出索引(不包含)

key:要搜索的元素

在使用该方法之前同样要对数组进行排序,来获得准确的索引值。如果要搜索的元素key在指定的范围内,则返会索引键的索引;否则返回-1或“-”。如果范围中的所有元素都小于指定的键,则为toIndex(注意,这保证了当且仅当此键被找到时,返回的值将大于等于0)

foreach

是for语句的特殊简化版本

for(元素变量X:遍历对象obj){
    引用了x 的JAVA语句
}

foreach的元素变量x,不必对其进行初始化

int arr[][]={{1,2,3},{2,3,4},{3,4,5}};
for(int x[],arr)
{
    for(int y,x)
    {
        System.out.println(y); 
    }
}

面对对象

对象

通常都会将对象划分成两部分:即静态部分和动态部分。

静态部分:这个部分被称为属性,任何对象都会具备其自身属性。

动态部分:这就是这个人所具备的行为。

面向对象和面向过程的区别

面向对象:注重找"参与者",将功能封装进对象,强调具备了功能的对象,以类/对象为最小单位,考虑谁来做

面向过程:当事件比较简单的时候,利用面向过程,注重的是事件的具体过程,注重的是过程中的具体行为,以函数为最小单位,考虑怎么做。

二者相辅相成,并不是对立的,解决复杂问题,通过面向对象方式便于我们从宏观上把握事件之间复杂的关系,方便我们分析整个系统:具体到微观操作,仍然使用面向过程方式来处理。

补充

1:万事万物皆对象。

2:对象:具体的事物,具体的实体

类:对对象向上抽取出像的部分,形成类,类是抽象的,是一个模板。

类就是对同一类事物的统称

类是封装对象的属性行为的载体,反过来说,具有相同属性和行为的一类实体被称为类。

在JAVA中,类中对象的行为是以方法的形式定义的,对象的属性是以成员变量的形式定义的,而类包括对象的属性和方法.

面向对象的三个阶段

(1)面对对象分析OOA

(2)面对对象设计OOD

(3)面对对象编程OOP

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值