变量

经典的Java基础面试题集锦

江枫思渺然 提交于 2020-04-03 05:26:05
转载地址:http://www.lupaworld.com/article-242000-1.html 问题:如果main方法被声明为private会怎样? 答案:能正常编译,但运行的时候会提示”main方法不是public的”。 问题:Java里的传引用和传值的区别是什么? 答案:传引用是指传递的是地址而不是值本身,传值则是传递值的一份拷贝。 问题:如果要重写一个对象的equals方法,还要考虑什么? 答案:hashCode。 问题:Java的”一次编写,处处运行”是如何实现的? 答案:Java程序会被编译成字节码组成的class文件,这些字节码可以运行在任何平台,因此Java是平台独立的。 问题:说明一下public static void main(String args[])这段声明里每个关键字的作用 答案:public: main方法是Java程序运行时调用的第一个方法,因此它必须对Java环境可见。所以可见性设置为pulic. static: Java平台调用这个方法时不会创建这个类的一个实例,因此这个方法必须声明为static。 void: main方法没有返回值。 String是命令行传进参数的类型,args是指命令行传进的字符串数组。 问题:==与equals的区别 答案:==比较两个对象在内存里是不是同一个对象,就是说在内存里的存储位置一致

Java 面试题基础概念收集

感情迁移 提交于 2020-04-03 05:25:32
问题:如果main方法被声明为private会怎样? 答案:能正常编译,但运行的时候会提示”main方法不是public的”。 问题:Java里的传引用和传值的区别是什么? 答案:传引用是指传递的是地址而不是值本身,传值则是传递值的一份拷贝。 问题:如果要重写一个对象的equals方法,还要考虑什么? 答案:hashCode。 问题:Java的”一次编写,处处运行”是如何实现的? 答案:Java程序会被编译成字节码组成的class文件,这些字节码可以运行在任何平台,因此Java是平台独立的。 问题:说明一下public static void main(String args[])这段声明里每个关键字的作用 答案:public: main方法是Java程序运行时调用的第一个方法,因此它必须对Java环境可见。所以可见性设置为pulic. static: Java平台调用这个方法时不会创建这个类的一个实例,因此这个方法必须声明为static。 void: main方法没有返回值。 String是命令行传进参数的类型,args是指命令行传进的字符串数组。 问题:==与equals的区别 答案:==比较两个对象在内存里是不是同一个对象,就是说在内存里的存储位置一致。两个String对象存储的值是一样的,但有可能在内存里存储在不同的地方 . ==比较的是引用而equals方法比较的是内容

Java中static和final的区别

心已入冬 提交于 2020-04-03 04:33:53
static 是静态修饰关键字,可以修饰变量和程序块以及类方法: 当定义一个static的变量的时候jvm会将将其分配在内存堆上,所有程序对它的引用都会指向这一个地址而不会重新分配内存; 当修饰一个程序块的时候(也就是直接将代码写在static{...}中)时候,虚拟机就会优先加载静态块中代码,这主要用于系统初始化; 当修饰一个类方法时候你就可以直接通过类来调用而不需要新建对象。 final 可以修饰变量、方法及类: 当定义一个final变量时,jvm会将其分配到常量池中,程序不可改变其值; 当修饰一个方法时,该方法在子类中将不能被重写; 当修饰一个类时,该类不能被继承。 static变量 按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或类变量;另一种是没有被static修饰的变量,叫实例变量。两者的区别是: 对于静态变量在内存中只有一个拷贝(节省内存),JVM只为静态分配一次内存,在加载类的过程中完成静态变量的内存分配,可用类名直接访问(方便),当然也可以通过对象来访问(但是这是不推荐的)。对于实例变量,没创建一个实例,就会为实例变量分配一次内存,实例变量可以在内存中有多个拷贝,互不影响(灵活)。   2. static方法 静态方法可以直接通过类名调用,任何的实例也都可以调用,因此静态方法中不能用this和super关键字

Golang教程:变量

让人想犯罪 __ 提交于 2020-04-03 04:20:34
声明单一变量 声明一个变量的语法为: var name type ,例如 package main import "fmt" func main() { var age int // variable declaration fmt.Println("my age is", age) } 语句 var age int 声明了一个类型为 int ,名称为 age 的变量。在这里我们没有给它赋任何值。如果一个变量没有被赋予任何值,Go 会自动将这个变量初始化为其类型的 0值,比如这里的 age 将被赋值为 0。运行这个程序,将得到如下输出: my age is 0 一个变量可以被赋予其类型的任何值。例如,在上例中, age 可以被赋予任何整型值: package main import "fmt" func main() { var age int // variable declaration fmt.Println("my age is ", age) age = 29 //assignment fmt.Println("my age is", age) age = 54 //assignment fmt.Println("my new age is", age) } 输出如下: my age is 0 my age is 29 my new age is 54

javascript数据类型判断

两盒软妹~` 提交于 2020-04-03 01:59:58
js的变量是松散类型,也就是不像java语言那样,需要在变量前面申明对象类型,加var后对变量进行申明,类型默认为undefined,当赋值后才确定变量类型。 js变量类型判别方式我所知道的有三种,第一种是typeof,第二种是instanceof,第三种是使用对象原型的tostring方法。 (1)第一种方法typeof: var a, b = 1, c = "1", d = false, e = [], f = {}, g = function(){}; console.log(typeof a); console.log(typeof b); console.log(typeof c); console.log(typeof d); console.log(typeof e); console.log(typeof f); console.log(typeof g); 控制台输出undefined,number,string,boolean,object,object,function. 为什么数组跟对象输出都是object? 我的理解是,数组跟对象是字面量写法,实际上它们等价于 var e = new Array(); var f = new Object(); 而引用类型的变量typeof都是输出object. 可以试一下 var a = /./; console.log

02函数-01-函数的定义和调用

♀尐吖头ヾ 提交于 2020-04-03 01:21:46
1、定义函数 function abs(x) { if (x >= 0) { return x; } else { return -x; } } 7 1 function abs(x) { 2 if (x >= 0) { 3 return x; 4 } else { 5 return -x; 6 } 7 } 如果没有return,函数执行完毕也会返回结果,不过结果是undefined。 由于在JS的世界中,函数也是一个对象,所以上述定义的 函数实际上也是一个对象 ,而 函数名则可视为指向该函数的变量 。 所以上面的函数定义等价于: var abs = function (x) { if (x >= 0) { return x; } else { return -x; } }; 7 1 var abs = function (x) { 2 if (x >= 0) { 3 return x; 4 } else { 5 return -x; 6 } 7 }; 2、调用函数 JS的函数允许任意个,也不影响调用,接以上的abs函数: //比定义的参数多 abs(10, 'blablabla'); // 返回10 abs(-9, 'haha', 'hehe', null); // 返回9 //比定义的参数少 abs(); // 返回NaN --> 此时abs(x

Java IO笔记(BufferedReader/BufferedWriter)

橙三吉。 提交于 2020-04-03 00:58:40
本篇讲述的是java io包中的BufferedReader和BufferedWriter。从名字中可以看出它们分别是Reader和Writer的子类,它们的特点是在对流进行读写操作时,内置了缓存区,通过减少与磁盘之间IO操作的此处,从而提升了读写效率,下面我们来简要的看看它们的源码。 BufferedReader.java: package java.io; import java.util.Iterator; import java.util.NoSuchElementException; import java.util.Spliterator; import java.util.Spliterators; import java.util.stream.Stream; import java.util.stream.StreamSupport; public class BufferedReader extends Reader { //内置了一个Reader对象句柄in,用于接收传入的Reader对象。 private Reader in; //定义了一个char类型的数组,作为内置的数据存储区,默认大小为8k。 private char cb[]; //声明了两个int型变量nChars和nextChar,nChars表示缓存区中存在的字符数据的个数

第三次作业结对编程

那年仲夏 提交于 2020-04-02 18:29:08
第三次作业结对编程 1.地址 GIT地址 https://github.com/qq319064057/WordCount GIT用户名 qq319064057 结对伙伴地址 https://www.cnblogs.com/tyx666/ 博客地址 https://www.cnblogs.com/319064057-lx/ 作业链接 https://www.cnblogs.com/319064057-lx/p/10660199.html 2.PSP表 PSP Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 20 20 Estimate 估计这个任务需要多少时间 20 20 Development 开发 600 710 Analysis 需求分析 (包括学习新技术) 50 40 Design Spec 生成设计文档 30 20 Design Review 设计复审 (和同事审核设计文档) 20 30 Coding Standard 代码规范 (为目前的开发制定合适的规范) 20 15 Design 具体设计 30 45 Coding 具体编码 360 300 Code Review 代码复审 60 50 Test 测试(自我测试,修改代码,提交修改) 30 30 Reporting 报告 90 70

C++——变量

谁说胖子不能爱 提交于 2020-04-02 15:24:48
1.变量的初始化和赋值 初始化:创建变量时赋予一个初始值 赋值:把变量的当前值擦除,以新的值替代 2.变量的声明和定义 声明:名字为程序所知。如果一个程序要使用另一个程序的名字,则要包含对那个名字的声明。 extern int i; //声明非定义extern int k=1;//声明并定义,等价于下式 int j; //声明并定义 定义:创建与名字关联的实体。 变量能且只能被定义一次;但可以多次声明。 3.变量作用域 #include <iostream> int reused=42; int main() { int reused=1; cout<<reused<<endl;//局部变量,输出1 cout<<::reused<<endl;//显示调用全局变量,输出42 } 来源: https://www.cnblogs.com/yrm1160029237/p/11336459.html

内部类的详解

限于喜欢 提交于 2020-04-02 09:31:52
一般来说,有4中内部类:常规内部类、静态内部类、局部内部类、匿名内部类。 一.常规内部类:常规内部类没有用static修饰且定义在在外部类类体中。 1.常规内部类中的方法可以直接使用外部类的实例变量和实例方法。 2.在常规内部类中可以直接用内部类创建对象 3.代码如下: public class MyOuter { private int x = 100; // 创建内部类 class MyInner { private String y = "Hello!"; public void innerMethod() { System.out.println("内部类中 String =" + y); System.out.println("外部类中的x =" + x);// 直接访问外部类中的实例变量x outerMethod(); System.out.println("x is" + MyOuter.this.x); } } public void outerMethod() { x++; } public void makeInner() { //在外部类方法中创建内部类实例 MyInner in = new MyInner(); } /** * @param args */ public static void main(String[] args) { MyOuter mo