java基础都有那些?_第2页回答

2021-01-21 09:39发布

19条回答
爱搞事的IT小男孩
2楼 · 2021-01-22 10:18

Java基础语法知识。

  对象:对象是类的一个实例,有状态和行为。

  类:类是一个模板,它描述一类对象的行为和状态。

  方法:方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的;

  变量:Java中主要有三种类型的变量:局部变量、类变量(静态变量)和成员变量(非静态变量)。

  标识符:类名、变量名以及方法名都被称为标识符,关键字不能用作标识符。

  修饰符:Java可以使用修饰符来修饰类中方法和属性。主要有两类修饰符:可访问修饰符default, public , protected, private;不可访问修饰符final, abstract, strictfp。

  数组:数组是储存在堆上的对象,可以保存多个同类型变量。

  关键字:被Java语言赋予了特殊含义,用作专门用途的字符串(单词)。

  继承:在Java中,一个类可以由其他类派生。如果你要创建一个类,而且已经存在一个类具有你所需要的属性或方法,那么你可以将新创建的类继承该类。

  接口:在Java中,接口可理解为对象间相互通信的协议。接口在继承中扮演着很重要的角色。接口只定义派生要用到的方法,但是方法的具体实现完全取决于派生类。

  当然,Java基础语法还包括命名规范、注释规范、编程规范等知识,在此就不一一列举了。想要在Java领域大展拳脚,你就必须牢记Java基本语法,不断学习从而成为企业急缺的高端人才。


灰机带翅膀
3楼 · 2021-01-22 14:43

1,关键字:其实就是某种语言赋予了特殊含义的单词。 
保留字:其实就是还没有赋予特殊含义,但是准备日后要使用过的单词。

2,标示符:其实就是在程序中自定义的名词。比如类名,变量名,函数名。包含 0-9、a-z、$、_ ; 
注意: 
   1),数字不可以开头。 
   2),不可以使用关键字。

3,常量:是在程序中的不会变化的数据。

4,变量:其实就是内存中的一个存储空间,用于存储常量数据。
   作用:方便于运算。因为有些数据不确定。所以确定该数据的名词和存储空间。
   特点:变量空间可以重复使用。

什么时候定义变量?只要是数据不确定的时候,就定义变量。

变量空间的开辟需要什么要素呢?
  1,这个空间要存储什么数据?数据类型。
  2,这个空间叫什么名字啊?变量名称。
  3,这个空间的第一次的数据是什么? 变量的初始化值。

变量的作用域和生存期:

变量的作用域: 
  作用域从变量定义的位置开始,到该变量所在的那对大括号结束;

生命周期: 
  变量从定义的位置开始就在内存中活了;
  变量到达它所在的作用域的时候就在内存中消失了;

数据类型: 
1):基本数据类型:byte、short、int、long、float、double、char、boolean
2):引用数据类型: 数组、类、接口。

**级别从低到高为:**byte,char,short(这三个平级)–>int–>float–>long–>double

自动类型转换:从低级别到高级别,系统自动转的;

强制类型转换:什么情况下使用?把一个高级别的数赋给一个别该数的级别低的变量;

运算符号: 
1)、算术运算符。
   + - * / % %:任何整数模2不是0就是1,所以只要改变被模数就可以实现开关运算。
   +:连接符。
   ++,–

2)、赋值运算符。
   = += -= *= /= %=

3)、比较运算符。
  特点:该运算符的特点是:运算完的结果,要么是true,要么是false。

4)、逻辑运算符。

  & | ^ ! && ||

  逻辑运算符除了 ! 外都是用于连接两个boolean类型表达式。

  &: 只有两边都为true结果是true。否则就是false。

  |:只要两边都为false结果是false,否则就是true

   ^:异或:和或有点不一样。
    两边结果一样,就为false。
    两边结果不一样,就为true.
  & 和 &&区别: & :无论左边结果是什么,右边都参与运算。
       &&:短路与,如果左边为false,那么右边不参数与运算。
  | 和|| 区别:|:两边都运算。
       ||:短路或,如果左边为true,那么右边不参与运算。
5)、位运算符:用于操作二进制位的运算符。
  & | ^
  & << >> >>>(无符号右移)

5,语句。 
  If switch do while while for
  这些语句什么时候用?
  1)、当判断固定个数的值的时候,可以使用if,也可以使用switch。
  但是建议使用switch,效率相对较高。

switch(变量){ 
   case 值:要执行的语句;break; 
   … 
  default:要执行的语句; 
  }

  工作原理:用小括号中的变量的值依次和case后面的值进行对比,和哪个case后面的值相同了
  就执行哪个case后面的语句,如果没有相同的则执行default后面的语句;

  细节:a:break是可以省略的,如果省略了就一直执行到遇到break为止;
     b:switch 后面的小括号中的变量应该是byte,char,short,int四种类型中的一种;
      c:default可以写在switch结构中的任意位置;如果将default语句放在了第一行,则不管expression与case中的value是否匹配,程序会从default开始执行直到第一个break出现。
  2)、当判断数据范围,获取判断运算结果boolean类型时,需要使用if。
  3)、当某些语句需要执行很多次时,就用循环结构。 while和for可以进行互换。
区别在于:如果需要定义变量控制循环次数。建议使用for。因为for循环完毕,变量在内存中释放。

break:作用于switch ,和循环语句,用于跳出,或者称为结束。

break语句单独存在时,下面不要定义其他语句,因为执行不到,编译会失败。当循环嵌套时,break只跳出当前所在循环。要跳出嵌套中的外部循环,只要给循环起名字即可,这个名字称之为标号。

continue:只作用于循环结构,继续循环用的。

作用:结束本次循环,继续下次循环。该语句单独存在时,下面不可以定义语句,执行不到。

6,函 数:为了提高代码的复用性,可以将其定义成一个单独的功能,该功能的体现就是java中的函数。函数就是体现之一。

java中的函数的定义格式:
   修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数1,…){
      执行语句;
     return 返回值;
  }没有具体的返回值时,返回的返回值类型用void关键字表示。

如果函数的返回值类型是void时,return语句可以省略不写的,系统会帮你自动加上。

return的作用:结束函数。结束功能。

如何定义一个函数?

  函数其实就是一个功能,定义函数就是实现功能,通过两个明确来完成:

  1)、明确该功能的运算完的结果,其实是在明确这个函数的返回值类型。

  2)、在实现该功能的过程中是否有未知内容参与了运算,其实就是在明确这个函数的参数列表(参数类型&参数个数)。

函数的作用:

  1)、用于定义功能。

  2)、用于封装代码提高代码的复用性。

  注意:函数中只能调用函数,不能定义函数。

主函数:

   1)、保证该类的独立运行。

  2)、因为它是程序的入口。

  3)、因为它在被jvm调用。

函数定义名称是为什么呢?

答:1)、为了对该功能进行标示,方便于调用。

   2)、为了通过名称就可以明确函数的功能,为了增加代码的阅读性。

重载的定义是:在一个类中,如果出现了两个或者两个以上的同名函数,只要它们的参数的个数,或者参数的类型不同,即可称之为该函数重载了。

如何区分重载:当函数同名时,只看参数列表。和返回值类型没关系。

7,数 组:用于存储同一类型数据的一个容器。好处:可以对该容器中的数据进行编号,从0开始。数组用于封装数据,就是一个具体的实体。

如何在java中表现一个数组呢?两种表现形式。

1)、元素类型[] 变量名 = new 元素类型[元素的个数];

2)、元素类型[] 变量名 = {元素1,元素2…};

元素类型[] 变量名 = new 元素类型[]{元素1,元素2…};


爱学习的小巴
4楼 · 2021-01-22 15:23

Java的三种技术架构:

JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发;

JAVASE:Java Platform Standard Edition,完成桌面应用程序的开发,是其它两者的基础;

JAVAME:Java Platform Micro Edition,开发电子消费产品和嵌入式设备,如手机中的程序;

java语法基础:

1、关键字:其实就是某种语言赋予了特殊含义的单词。保留字:其实就是还没有赋予特殊含义,但是准备日后要使用过的单词。

标示符:其实就是在程序中自定义的名词。比如类名,变量名,函数名。包含 0-9、a-z、$、_ ;

面向对象:

1、将复杂的事情简单化。

2、面向对象将以前的过程中的执行者,变成了指挥者。

3、面向对象这种思想是符合现在人们思考习惯的一种思想。


梦到内河_
5楼 · 2021-01-22 16:29

包括 J2sdk基础、Java面向对象基础、Java API使用、数据结构及算法基础、Java AWT图形界面程序开发;

J2SE平台Java程序设计,包括Swing图形程序设计, Socket网络应用程序设计,对象序列化,Java 常用数据结构,Applet,流和文件,多线程程序设计


我自己打call
6楼 · 2021-01-22 17:06

java语法基础
1,关键字:其实就是某种语言赋予了特殊含义的单词。
   保留字:其实就是还没有赋予特殊含义,但是准备日后要使用过的单词。
2,标示符:其实就是在程序中自定义的名词。比如类名,变量名,函数名。包含 0-9、a-z、$、_ ;
   注意:
   1),数字不可以开头。
   2),不可以使用关键字。
3,常量:是在程序中的不会变化的数据。
4,变量:其实就是内存中的一个存储空间,用于存储常量数据。
   作用:方便于运算。因为有些数据不确定。所以确定该数据的名词和存储空间。
   特点:变量空间可以重复使用。
什么时候定义变量?只要是数据不确定的时候,就定义变量。
变量空间的开辟需要什么要素呢?
   1,这个空间要存储什么数据?数据类型。
   2,这个空间叫什么名字啊?变量名称。
   3,这个空间的第一次的数据是什么? 变量的初始化值。
变量的作用域和生存期:
变量的作用域:
   作用域从变量定义的位置开始,到该变量所在的那对大括号结束;
生命周期:
   变量从定义的位置开始就在内存中活了;
   变量到达它所在的作用域的时候就在内存中消失了;

数据类型:
   1):基本数据类型:byte、short、int、long、float、double、char、boolean
   2):引用数据类型: 数组、类、接口。
级别从低到高为:byte,char,short(这三个平级)-->int-->float-->long-->double
自动类型转换:从低级别到高级别,系统自动转的;
强制类型转换:什么情况下使用?把一个高级别的数赋给一个别该数的级别低的变量;
运算符号:
   1)、算术运算符。
       + - * / %   %:任何整数模2不是0就是1,所以只要改变被模数就可以实现开关运算。
       +:连接符。
       ++,--
   2)、赋值运算符。
       =  += -= *= /= %=
   3)、比较运算符。
       特点:该运算符的特点是:运算完的结果,要么是true,要么是false。
   4)、逻辑运算符。
       &  | ^  !   &&  ||
       逻辑运算符除了!  外都是用于连接两个boolean类型表达式。
       &: 只有两边都为true结果是true。否则就是false。
       |:只要两边都为false结果是false,否则就是true
       ^:异或:和或有点不一样。
            两边结果一样,就为false。
            两边结果不一样,就为true.
       & 和 &&区别: & :无论左边结果是什么,右边都参与运算。
                     &&:短路与,如果左边为false,那么右边不参数与运算。
       | 和|| 区别:|:两边都运算。
                   ||:短路或,如果左边为true,那么右边不参与运算。
   5)、位运算符:用于操作二进制位的运算符。
       &  |  ^
       <<  >>  >>>(无符号右移)
   练习:对两个变量的数据进行互换。不需要第三方变量。
           int a  = 3,b = 5;-->b = 3,a = 5;
           a = a + b; a =8;
           b = a - b; b =3;c
           a = a - b; a =5;
           a = a ^ b;//
           b = a ^ b;//b= a ^ b ^ b = a
           a = a ^ b;//a= a ^ b ^ a = b;
      练习:高效的算出 2*8 ------------------> 位移运算的考验,java基础面试中它的曝光率不低哦
5,语句。
   If  switch  do while   while  for
   这些语句什么时候用?
   1)、当判断固定个数的值的时候,可以使用if,也可以使用switch。
   但是建议使用switch,效率相对较高。
switch(变量){
  case 值:要执行的语句;break;
  …
  default:要执行的语句;
}
工作原理:用小括号中的变量的值依次和case后面的值进行对比,和哪个case后面的值相同了
          就执行哪个case后面的语句,如果没有相同的则执行default后面的语句;
细节:1):break是可以省略的,如果省略了就一直执行到遇到break为止;
      2):switch 后面的小括号中的变量应该是byte,char,short,int四种类型中的一种;
      3):default可以写在switch结构中的任意位置;如果将default语句放在了第一行,则不管expression与case中的value是否匹配,程序会从default开始执行直到第一个break出现。
   2)、当判断数据范围,获取判断运算结果boolean类型时,需要使用if。
   3)、当某些语句需要执行很多次时,就用循环结构。
   while和for可以进行互换。
   区别在于:如果需要定义变量控制循环次数。建议使用for。因为for循环完毕,变量在内存中释放。
break:作用于switch ,和循环语句,用于跳出,或者称为结束。
break语句单独存在时,下面不要定义其他语句,因为执行不到,编译会失败。当循环嵌套时,break只跳出当前所在循环。要跳出嵌套中的外部循环,只要给循环起名字即可,这个名字称之为标号。
代码片段:
z: //for循环标号
       for(int x=0;x<3>
               for(int y=0;y<2>
                   //不带标号的就是结束整个循环体的作用,在那个循环内部就结束哪个循环
                   if(x==1)break;
                   //带标号跳过break后面的语句,回到标号位置的循环,继续该循环下次的条件判断,
                   //已决定是否执行该循环体
                   if(x==2&&y==1)break z;
               }
           }

continue:只作用于循环结构,继续循环用的。
作用:结束本次循环,继续下次循环。该语句单独存在时,下面不可以定义语句,执行不到。
6,函 数:为了提高代码的复用性,可以将其定义成一个单独的功能,该功能的体现就是java中的函数。函数就是体现之一。
java中的函数的定义格式:
   修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数1,…){
      执行语句;
      return 返回值;
   }
当函数没有具体的返回值时,返回的返回值类型用void关键字表示。
如果函数的返回值类型是void时,return语句可以省略不写的,系统会帮你自动加上。
return的作用:结束函数。结束功能。
如何定义一个函数?
   函数其实就是一个功能,定义函数就是实现功能,通过两个明确来完成:
   1)、明确该功能的运算完的结果,其实是在明确这个函数的返回值类型。
   2)、在实现该功能的过程中是否有未知内容参与了运算,其实就是在明确这个函数的参数列表(参数类型&参数个数)。
函数的作用:
1)、用于定义功能。
2)、用于封装代码提高代码的复用性。
注意:函数中只能调用函数,不能定义函数。
主函数:
   1)、保证该类的独立运行。
   2)、因为它是程序的入口。
   3)、因为它在被jvm调用。
函数定义名称是为什么呢?
答:1)、为了对该功能进行标示,方便于调用。
   2)、为了通过名称就可以明确函数的功能,为了增加代码的阅读性。
重载的定义是:在一个类中,如果出现了两个或者两个以上的同名函数,只要它们的参数的个数,或者参数的类型不同,即可称之为该函数重载了。
如何区分重载:当函数同名时,只看参数列表。和返回值类型没关系。
7,数 组:用于存储同一类型数据的一个容器。好处:可以对该容器中的数据进行编号,从0开始。数组用于封装数据,就是一个具体的实体。
如何在java中表现一个数组呢?两种表现形式。
1)、元素类型[] 变量名 = new 元素类型[元素的个数];
2)、元素类型[] 变量名 = {元素1,元素2...};
元素类型[] 变量名 = new 元素类型[]{元素1,元素2...};
---------------------------------------------------------
//二分查找法。必须有前提:数组中的元素要有序。
   public static inthalfSeach_2(int[] arr,int key){
       int min,max,mid;//定义最小,最大,中间数
       min = 0;//最小为0
       max =arr.length-1;// 最大为数组的长度-1
       mid =(max+min)>>1; //(max+min)/2;//中间数为最大加最小除以2
       while(arr[mid]!=key){//如果数组中间值不等于key
           if(key>arr[mid]){//如果key>中间值
               min = mid+ 1;
           }
           elseif(key
               max = mid- 1;
           if(max
               return -1;
           mid =(max+min)>>1;
       }
       return mid;
   }
知识拓展:

java内存。
1:寄存器。2:本地方法区。3:方法区。4:栈。5:堆。
栈:存储的都是局部变量 ( 函数中定义的变量,函数上的参数,语句中的变量 );
   只要数据运算完成所在的区域结束,该数据就会被释放。
堆:用于存储数组和对象,也就是实体。啥是实体呢?就是用于封装多个数据的。
1:每一个实体都有内存首地址值。
2:堆内存中的变量都有默认初始化值。因为数据类型不同,值也不一样。
3:垃圾回收机制。

善良的人
7楼 · 2021-01-25 14:49

大型微服务分布式项目实战:SpringBoot、SpringCloud、Git 、Dubbo、Zookeeper、AngularJS、Spring Security、BCrypt加密、FastDFS、分布式事务处理、Redis Cluster、Solr、SolrCloud、Freemarker 、JMS 、短信发送平台、SSO解决方案、CORS、Twitter的Snowflake、SpringTask 、Maven Profile、MongoDB简介、MyCat、Docker、Jenkins、东易买大型电商实战、东易众筹。


李龙鑫
8楼 · 2021-01-25 15:10
java语法基础
1,关键字:其实就是某种语言赋予了特殊含义的单词。    保留字:其实就是还没有赋予特殊含义,但是准备日后要使用过的单词。
2,标示符:其实就是在程序中自定义的名词。比如类名,变量名,函数名。包含 0-9、a-z、$、_ ;
    注意:
    1),数字不可以开头。
    2),不可以使用关键字。
3,常量:是在程序中的不会变化的数据。
4,变量:其实就是内存中的一个存储空间,用于存储常量数据。
    作用:方便于运算。因为有些数据不确定。所以确定该数据的名词和存储空间。
    特点:变量空间可以重复使用。
什么时候定义变量?只要是数据不确定的时候,就定义变量。
变量空间的开辟需要什么要素呢?
    1,这个空间要存储什么数据?数据类型。
    2,这个空间叫什么名字啊?变量名称。
    3,这个空间的第一次的数据是什么? 变量的初始化值。
变量的作用域和生存期:
变量的作用域:
    作用域从变量定义的位置开始,到该变量所在的那对大括号结束;
生命周期:
    变量从定义的位置开始就在内存中活了;
    变量到达它所在的作用域的时候就在内存中消失了;


小小李兆佳
9楼 · 2021-01-25 17:38

 java语法基础
1,关键字:其实就是某种语言赋予了特殊含义的单词。
   保留字:其实就是还没有赋予特殊含义,但是准备日后要使用过的单词。
2,标示符:其实就是在程序中自定义的名词。比如类名,变量名,函数名。包含 0-9、a-z、$、_ ;
   注意:
   1),数字不可以开头。
   2),不可以使用关键字。
3,常量:是在程序中的不会变化的数据。
4,变量:其实就是内存中的一个存储空间,用于存储常量数据。
   作用:方便于运算。因为有些数据不确定。所以确定该数据的名词和存储空间。
   特点:变量空间可以重复使用。
什么时候定义变量?只要是数据不确定的时候,就定义变量。
变量空间的开辟需要什么要素呢?
   1,这个空间要存储什么数据?数据类型。
   2,这个空间叫什么名字啊?变量名称。
   3,这个空间的第一次的数据是什么? 变量的初始化值。
变量的作用域和生存期:
变量的作用域:
   作用域从变量定义的位置开始,到该变量所在的那对大括号结束;
生命周期:
   变量从定义的位置开始就在内存中活了;
   变量到达它所在的作用域的时候就在内存中消失了;

数据类型:
   1):基本数据类型:byte、short、int、long、float、double、char、boolean
   2):引用数据类型: 数组、类、接口。
级别从低到高为:byte,char,short(这三个平级)-->int-->float-->long-->double
自动类型转换:从低级别到高级别,系统自动转的;
强制类型转换:什么情况下使用?把一个高级别的数赋给一个别该数的级别低的变量;
运算符号:
   1)、算术运算符。
       + - * / %   %:任何整数模2不是0就是1,所以只要改变被模数就可以实现开关运算。
       +:连接符。
       ++,--
   2)、赋值运算符。
       =  += -= *= /= %=
   3)、比较运算符。
       特点:该运算符的特点是:运算完的结果,要么是true,要么是false。
   4)、逻辑运算符。
       &  | ^  !   &&  ||
       逻辑运算符除了!  外都是用于连接两个boolean类型表达式。
       &: 只有两边都为true结果是true。否则就是false。
       |:只要两边都为false结果是false,否则就是true
       ^:异或:和或有点不一样。
            两边结果一样,就为false。
            两边结果不一样,就为true.
       & 和 &&区别: & :无论左边结果是什么,右边都参与运算。
                     &&:短路与,如果左边为false,那么右边不参数与运算。
       | 和|| 区别:|:两边都运算。
                   ||:短路或,如果左边为true,那么右边不参与运算。
   5)、位运算符:用于操作二进制位的运算符。
       &  |  ^
       <<  >>  >>>(无符号右移)
   练习:对两个变量的数据进行互换。不需要第三方变量。
           int a  = 3,b = 5;-->b = 3,a = 5;
           a = a + b; a =8;
           b = a - b; b =3;c
           a = a - b; a =5;
           a = a ^ b;//
           b = a ^ b;//b= a ^ b ^ b = a
           a = a ^ b;//a= a ^ b ^ a = b;
      练习:高效的算出 2*8 ------------------> 位移运算的考验,java基础面试中它的曝光率不低哦
5,语句。
   If  switch  do while   while  for
   这些语句什么时候用?
   1)、当判断固定个数的值的时候,可以使用if,也可以使用switch。
   但是建议使用switch,效率相对较高。
switch(变量){
  case 值:要执行的语句;break;
  …
  default:要执行的语句;
}
工作原理:用小括号中的变量的值依次和case后面的值进行对比,和哪个case后面的值相同了
          就执行哪个case后面的语句,如果没有相同的则执行default后面的语句;
细节:1):break是可以省略的,如果省略了就一直执行到遇到break为止;
      2):switch 后面的小括号中的变量应该是byte,char,short,int四种类型中的一种;
      3):default可以写在switch结构中的任意位置;如果将default语句放在了第一行,则不管expression与case中的value是否匹配,程序会从default开始执行直到第一个break出现。
   2)、当判断数据范围,获取判断运算结果boolean类型时,需要使用if。
   3)、当某些语句需要执行很多次时,就用循环结构。
   while和for可以进行互换。
   区别在于:如果需要定义变量控制循环次数。建议使用for。因为for循环完毕,变量在内存中释放。
break:作用于switch ,和循环语句,用于跳出,或者称为结束。
break语句单独存在时,下面不要定义其他语句,因为执行不到,编译会失败。当循环嵌套时,break只跳出当前所在循环。要跳出嵌套中的外部循环,只要给循环起名字即可,这个名字称之为标号。
代码片段:
z: //for循环标号
       for(int x=0;x<3>
               for(int y=0;y<2>
                   //不带标号的就是结束整个循环体的作用,在那个循环内部就结束哪个循环
                   if(x==1)break;
                   //带标号跳过break后面的语句,回到标号位置的循环,继续该循环下次的条件判断,
                   //已决定是否执行该循环体
                   if(x==2&&y==1)break z;
               }
           }

continue:只作用于循环结构,继续循环用的。
作用:结束本次循环,继续下次循环。该语句单独存在时,下面不可以定义语句,执行不到。
6,函 数:为了提高代码的复用性,可以将其定义成一个单独的功能,该功能的体现就是java中的函数。函数就是体现之一。
java中的函数的定义格式:
   修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数1,…){
      执行语句;
      return 返回值;
   }
当函数没有具体的返回值时,返回的返回值类型用void关键字表示。
如果函数的返回值类型是void时,return语句可以省略不写的,系统会帮你自动加上。
return的作用:结束函数。结束功能。
如何定义一个函数?
   函数其实就是一个功能,定义函数就是实现功能,通过两个明确来完成:
   1)、明确该功能的运算完的结果,其实是在明确这个函数的返回值类型。
   2)、在实现该功能的过程中是否有未知内容参与了运算,其实就是在明确这个函数的参数列表(参数类型&参数个数)。
函数的作用:
1)、用于定义功能。
2)、用于封装代码提高代码的复用性。
注意:函数中只能调用函数,不能定义函数。
主函数:
   1)、保证该类的独立运行。
   2)、因为它是程序的入口。
   3)、因为它在被jvm调用。
函数定义名称是为什么呢?
答:1)、为了对该功能进行标示,方便于调用。
   2)、为了通过名称就可以明确函数的功能,为了增加代码的阅读性。
重载的定义是:在一个类中,如果出现了两个或者两个以上的同名函数,只要它们的参数的个数,或者参数的类型不同,即可称之为该函数重载了。
如何区分重载:当函数同名时,只看参数列表。和返回值类型没关系。
7,数 组:用于存储同一类型数据的一个容器。好处:可以对该容器中的数据进行编号,从0开始。数组用于封装数据,就是一个具体的实体。
如何在java中表现一个数组呢?两种表现形式。
1)、元素类型[] 变量名 = new 元素类型[元素的个数];
2)、元素类型[] 变量名 = {元素1,元素2...};
元素类型[] 变量名 = new 元素类型[]{元素1,元素2...};
---------------------------------------------------------
//二分查找法。必须有前提:数组中的元素要有序。
   public static inthalfSeach_2(int[] arr,int key){
       int min,max,mid;//定义最小,最大,中间数
       min = 0;//最小为0
       max =arr.length-1;// 最大为数组的长度-1
       mid =(max+min)>>1; //(max+min)/2;//中间数为最大加最小除以2
       while(arr[mid]!=key){//如果数组中间值不等于key
           if(key>arr[mid]){//如果key>中间值
               min = mid+ 1;
           }
           elseif(key
               max = mid- 1;
           if(max
               return -1;
           mid =(max+min)>>1;
       }
       return mid;
   }
知识拓展:

java内存。
1:寄存器。2:本地方法区。3:方法区。4:栈。5:堆。
栈:存储的都是局部变量 ( 函数中定义的变量,函数上的参数,语句中的变量 );
   只要数据运算完成所在的区域结束,该数据就会被释放。
堆:用于存储数组和对象,也就是实体。啥是实体呢?就是用于封装多个数据的。
1:每一个实体都有内存首地址值。
2:堆内存中的变量都有默认初始化值。因为数据类型不同,值也不一样。
3:垃圾回收机制。

相关问题推荐

  • 回答 2

    Statement的execute(String query)方法用来执行任意的SQL查询,如果查询的结果是一个ResultSet,这个方法就返回true。如果结果不是ResultSet,比如insert或者update查询,它就会返回false。我们可以通过它的getResultSet方法来获取ResultSet,或者通过getUpda...

  • 回答 22

    忙的时候项目期肯定要加班 但是每天加班应该还不至于

  • 回答 108
    已采纳

    虽然Java人才越来越多,但是人才缺口也是很大的,我国对JAVA工程师的需求是所有软件工程师当中需求大的,达到全部需求量的60%-70%,所以Java市场在短时间内不可能饱和。其次,Java市场不断变化,人才需求也会不断增加。马云说过,未来的制造业要的不是石油,...

  • 回答 5
    已采纳

    工信部证书含金量较高。工信部是国务院的下属结构,具有发放资质、证书的资格。其所发放的证书具有较强的权威性,在全国范围内收到认可,含金量通常都比较高。 工信部证书,其含义也就是工信部颁发并承认的某项技能证书,是具有法律效力的,并且是国家认可的...

  • 回答 70
    已采纳

    学Java好不好找工作?看学完Java后能做些什么吧。一、大数据技术Hadoop以及其他大数据处理技术都是用Java或者其他,例如Apache的基于Java 的 HBase和Accumulo以及ElasticSearchas。但是Java在此领域并未占太大空间,但只要Hadoop和ElasticSearchas能够成长壮...

  • 回答 16
    已采纳

    就是java的基础知识啊,比如Java 集合框架;Java 多线程;线程的五种状态;Java 虚拟机;MySQL (InnoDB);Spring 相关;计算机网络;MQ 消息队列诸如此类

  • 回答 12

    #{}和${}这两个语法是为了动态传递参数而存在的,是Mybatis实现动态SQL的基础,总体上他们的作用是一致的(为了动态传参),但是在编译过程、是否自动加单引号、安全性、使用场景等方面有很多不同,下面详细比较两者间的区别:1.#{} 是 占位符 :动态解析 ...

  • 回答 62

    没问题的,专科学历也能学习Java开发的,主要看自己感不感兴趣,只要认真学,市面上的培训机构不少都是零基础课程,能跟得上,或是自己先找些资料学习一下。

  • 回答 4

    1、反射对单例模式的破坏采用反射的方式另辟蹊径实例了该类,导致程序中会存在不止一个实例。解决方案其思想就是采用一个全局变量,来标记是否已经实例化过了,如果已经实例化过了,第 二次实例化的时候,抛出异常2、clone()对单例模式的破坏当需要实现单例的...

  • 回答 5

     优点: 一、实例控制  单例模式会阻止其他对象实例化其自己的单例对象的副本,从而确保所有对象都访问唯一实例。 二、灵活性  因为类控制了实例化过程,所以类可以灵活更改实例化过程。 缺点: 一、开销  虽然数量很少,但如果每次对象请求引用时都要...

  • 回答 4

    这个主要是看你数组的长度是多少, 比如之前写过的一个程序有个数组存的是各个客户端的ip地址:string clientIp[4]={XXX, xxx, xxx, xxx};这个时候如果想把hash值对应到上面四个地址的话,就应该对4取余,这个时候p就应该为4...

  • 回答 6

     哈希表的大小 · 关键字的分布情况 · 记录的查找频率 1.直接寻址法:取关键字或关键字的某个线性函数值为散列地址。即H(key)=key或H(key) = a·key + b,其中a和b为常数(这种散列函数叫做自身函数)。...

  • 回答 6

    哈希表的大小取决于一组质数,原因是在hash函数中,你要用这些质数来做模运算(%)。而分析发现,如果不是用质数来做模运算的话,很多生活中的数据分布,会集中在某些点上。所以这里最后采用了质数做模的除数。 因为用质数做了模的除数,自然存储空间的大小也用质数了...

  • 回答 2

    是啊,哈希函数的设计至关重要,好的哈希函数会尽可能地保证计算简单和散列地址分布均匀,但是,我们需要清楚的是,数组是一块连续的固定长度的内存空间

  • 回答 3

     解码查表优化算法,seo优化

  • 回答 5

    1.对对象元素中的关键字(对象中的特有数据),进行哈希算法的运算,并得出一个具体的算法值,这个值 称为哈希值。2.哈希值就是这个元素的位置。3.如果哈希值出现冲突,再次判断这个关键字对应的对象是否相同。如果对象相同,就不存储,因为元素重复。如果对象不同,就...

没有解决我的问题,去提问