美文网首页
Java 基础2

Java 基础2

作者: 寥寥十一 | 来源:发表于2018-04-08 14:52 被阅读60次

1.Java数组

数组的创建

int(数据类型)[] arr(数组类型变量) = new int[10(数组的长度)];

数组的初始化

基本类型的数组创建后,其元素的初始值:byte、shortchar、int、long为0;floatdouble为0.0;booleanfalse
可以在数组声明的同时进行初始化,例
int[] arr = {10,23,30,-10};
但此种方式只能用于声明时的吃石化,不能用于赋值。

数组的赋值
int[]arr
arr = new int[] {10,23.54}; //元素的个数即为数组的长度
数组的访问
   int len = arr.length; //获取数组的长度
   可以通过下标的方式访问数组中的每一个元素,下标从0开始,范围:0 ~ n-1
   int tmp = arr[2];

2.Java方法

方法的声明

方法用于封装一段特定的逻辑功能。方法的主要要素有:方法名、参数列表和返回值。

...(修饰符) long(返回值类型) fac1(方法名) (int n)(参数列表) {
  //方法体
}
方法要素---返回值

方法调用结束后可以返回一个数据,称之为返回值。
方法在声明时必须指定返回值的类型。
如果没有返回值,需将返回值的类型声明为void。
通过return语句返回,return语句的作用在于结束方法且将数据返回。

方法要素---参数列表

方法的参数是指:在调用时传递给方法,需要方法处理的数据。
在方法定义时需要声明该方法所需要的参数变量。

3.基础算法

Arrays核心API

JDK中的java.utils.Arrays 类提供对数组操作的一些列的方法。
Arrays.toString 方法用于字符串表示数组的元素。
Arrays.equals 方法用于比较两个数组的各个元素是否相等。
Arrays.sort 方法用于实现数组的排序。
Arrays.binarySearch 方法用于实现有序数组的二分法查找。找到后返回元素的下标值,没有返回负数。y有多个相等元素时不确定返回哪一个。

   int[] arr1 = {12,34,67,23,67,45,67};
   int[] arr2 = {12,34,23,67,46};
   System.out.println(Arrays.toString(arr1)); //[12, 34, 67, 23, 67, 45, 67]
   System.out.println(Arrays.equals(arr1,arr2)); //false
   Arrays.sort(arr1);
   System.out.println(Arrays.toString(arr1)); //[12, 23, 34, 45, 67, 67, 67]
   int index = Arrays.binarySearch(arr1,67);
   System.out.println(index); //5 或 2 或 7
  • 数组复制
    JDK提供数组进行复制的方法,即将一个数组中的各个元素值复制到另一个数组中;
    Systemn.arraycopy(src,sccPos,dest,destPos,length)
    src---要复制的源数组。
    srcPos---从源数组复制的起始位置。
    dest---复制到的目标数组。
    destPos---复制到目标数组的起始位置。
    length---要复制的元素的个数。
    System.arraycopy(arr1,0,arr2,1,3);
    System.out.println(Arrays.toString(arr2)); //[12, 12, 23, 34, 46]
  • 数组扩展
    数组的长度在创建后是不可改变的。所谓的扩展是指创建一个更大新数组并将原有数组的内容复制到其中。
String[] names = {"Ocsdf","Kojff","Pkfjjg","Ghddg","Fcsdf","Vojff","Skfjjg","Zhddg","Lgjgd","kevin"};
String[] names1 = names;
names = new String[names.length + 1];
System.arraycopy(names1,0,names,0,names1.length);
names[10] = "Kenny";
System.out.println(Arrays.toString(names));
 //[Ocsdf, Kojff, Pkfjjg, Ghddg, Fcsdf, Vojff, Skfjjg, Zhddg, Lgjgd, kevin, Kenny]
 
  • Arrays.copyOf方法 简便实现数组扩展。
 String[] names = {"Ocsdf","Kojff","Pkfjjg","Ghddg","Fcsdf","Vojff","Skfjjg","Zhddg","Lgjgd","kevin"};
 names = Arrays.copyOf(names,names.length+1);
 names[10] = "Zhou";
 System.out.println(Arrays.toString(names));
  //[Ocsdf, Kojff, Pkfjjg, Ghddg, Fcsdf, Vojff, Skfjjg, Zhddg, Lgjgd, kevin, Zhou]

二进制基础

  • 移位运算符
    左移(<<)、算数右移(>>)、逻辑右移(>>>).
    移位运算针对于整数做二进制位移动。
     int a = 8;
     a = a>>1;
     System.out.println(a); //4 相当于除2
     a = a<<2; 
     System.out.println(a); //16 相当于乘4
     int b = -8;
     System.out.println(b>>>2); //1073741822  相当于将原数据看成无符号数,再除4
     int bb = 8;
     System.out.println(bb<<33); //16 移位运算时,移位值将对32取模。此处的移位值为33%32=1
    

相关文章

  • Java学习规划

    概述 本文档主要说明java学习计划。 Java基础(2周) java零基础入门到精通(2019版) Java基础...

  • 记录一些书籍

    JAVA 基础 《Java核心技术·卷1:基础知识》《Java核心技术 卷2:高级特性》《Java8 实战》 并发...

  • Java全套学习资料

    Java基础 1-1 就业课(2.0)-Java基础语法 第1节java运行环境 第2节HelloWorld案例 ...

  • 开课吧大数据高级开发工程师 百度网盘分享

    课程大纲: java的基础课程(额外提供)阶段2:linux基础阶段3:java基础阶段4.5:mysql阶段6:...

  • java学习路径

    一、java基础知识 (30天) 1. 语言基础, java基础,环境变量 2. 语言基础, 进制转换 3. 语言...

  • Java基础总结

    一、Java基础认识 1、基础知识 1)JavaSE——>JavaEE、JavaME 2)Jdk(java工具、J...

  • Java基础知识整理(一)

    1.Java基础知识体系 2.Java技术体系平台 3.Java语言特点与核心机制 1.Java基础知识体系 2....

  • JAVA && Spring && SpringBoot2.x学

    JAVA && Spring && SpringBoot2.x — 学习目录 JAVA篇 JAVA基础篇(1)-格...

  • Java 基础

    Java 基础01Java开发入门 Java 基础02Java编程基础 Java 基础03面向对象 Java 基础...

  • Java面试题整理汇总

    1. Java程序基础 1.1开发和运行环境1.2Java语言概述1.3生成,部署和配置 2. Java语法基础 ...

网友评论

      本文标题:Java 基础2

      本文链接:https://www.haomeiwen.com/subject/ccaphftx.html