JAVA基础----简答
注:对应问题见上篇博客。
文章目录
- 一、Java基本语法元素:
- 二、Java基本控制结构:
- 三、Java面向对象程序设计:
- 四、数组和字符串:
- 五、异常处理:
- 六、Java IO流:
- 七、图形用户界面 GUI:
- 八、Java多线程:
一、Java基本语法元素:
标识符是由字母、下划线(_)、美元符号($)和数字组成的字符串,首字母不能是数字。
关键字不能作为标识符;布尔常量true和false不能作为标识符;null不能作为标识符。Java语言关键字
Java语言的注释:
(1)单行注释 “//”
(2)多行注释 “/* … /”
(3)文档注释 “/ *… */” 文档注释属于多行注释.Java数据类型及范围:
包装类用途:
(1)作为基本数据类型对应的类,方便设计对象的操作。
(2)包含基本类型的相关属性以及相关的操作方法。
基本类型 | 包装类名 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
char | Character |
float | Float |
double | Double |
boolean | Boolean |
(类的首字母大写)
Java中常量:
(1)整数常量
(2)浮点常量
(3)布尔常量(true和false)
(4)字符常量
注:简单字符常量是由一对单引号括起来的字符,但不能是(‘)和 ()。单引号和反斜杠需要用转义字符表示,分别为’\’’和’\ ’。
(5)字符串常量
(6)null常量Java中变量:
(1)类变量
(2)实例变量:不使用static修饰的类变量
(3)阵列组件
(4)形参
(5)局部变量Java运算符:关系运算符、算数运算符、逻辑运算符、赋值运算符
强制类型转换:从高精度向低精度转换(可能会出现精度损失)如:int a = (int)(5.0/3).
自动类型转换:从低范围到高范围转换,如double a = 1. (int范围小于double)
二、Java基本控制结构:
- 三种控制结构:顺序结构,分支结构,循环结构
- if-else语句、switch语句、while语句、do-while语句、for循环语句
for-each语句:
For(变量类型 变量名:数组/容器)
{循环体语句;
}
- switch语句中的控制表达式必须是char、int、short、byte类型的。
注:在switch(expression)中,expression只能是一个整数表达式或者枚举常量,整数表达式可以是int类型或Integer包装类型。由于byte,short,char都可以隐式转换为int类型,所以,这些类型也可以用作表达式。
三、Java面向对象程序设计:
- 类的定义和使用
(修饰符) class 类名 (extends 父类) (implements A,B...){//类主体
}
如何创建和使用对象:使用new关键字 类名 对象名 = new 类名();
什么是方法的重载?
如果同一个类中包含了两个或两个以上方法名相同,方法参数的个数、 顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了。
只改变参数,其他不变。This 关键字用于指代本类对象
Super 用于指代父类对象A:在类中的位置不同
成员变量:在类中方法外
局部变量:在方法定义中或者方法声明上
B:在内存中的位置不同
成员变量:在堆内存
局部变量:在栈内存
C:生命周期不同
成员变量:随着对象的创建而存在,随着对象的消失而消失
局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
D:初始化值不同
成员变量:有默认初始化值
局部变量:没有默认初始化值,必须定义,赋值,然后才能使用。若局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则。
封装:将实体特征的属性隐藏起来,对象与外界仅通过公共方法交流,这样可以提高程序的可靠性、安全性、改善程序的可维护性。
继承的实现:extends关键字
本质上多态分为:
(1)运行期多态(动态多态)
(2)编译期多态(静态多态)
方法的重载(overload)是编译时多态
运行期多态:继承或父类引用指向子类对象多态:Father c = new Child()
编译看左,运行看右:c可以访问子类重写父类的方法,c不可以访问子类的特有方法,c可以访问父类中的成员变量。
四种访问控制符及权限:
使用abstract关键字定义抽象类
对象类型转换:
向下转型
向上转型:多态Static修饰的类变量和类方法可直接通过类名访问,(JVM加载时生成)且各对象的同一类变量和类方法享有同一内存空间。
Static修饰的类变量和类方法不可访问非静态的成员变量和成员方法被Final修饰的是不可变的。
对于不可变的理解:
对于基本类型来说:不可变说的是数据不可改变
对于引用类型来说:不可变说的是地址值不可改变,内容是可以发生变化的。如何定义和导入包
接口的定义和使用:
定义:public(或默认) interface 接口名 (extends 父类接口列表)
内部类、匿名类的定义
泛型
四、数组和字符串:
定义数组:
动态定义: int[] a = new int[数组长度];
静态定义: int[] a = new int[]{元素1,元素2,元素3…};
静态定义的省略: int[] a = {元素1,元素2,元素3…};数组的length属性,是成员变量
多维数组的定义和初始化
二维:
动态定义: int[][] a = new int[数组行数][数组列数];
也可以只定义行数: int score[][] = new int[数组的行数][];
score[0] = new int[数组长度];
score[1] = new int[数组长度];
score[2] = new int[数组长度];字符串的两种创建方法:
(1)使用字符串构造方法:(2)使用赋值语句.
String s = “Hello World!!”;String类的主要方法:
1)获得字符串的长度:public int length();2)截取一个字符:public char charAt(int index);3)获得子串:public String substring(int beginIndex);public String substring(int beginIndex,intendIndex);4)字符串相等比较:public boolean equals(String s);5)字符串连接:public String concat(String s);6)字符串内容比较:public int conpareTo(String s); ——>逐字符比较,全相同返回0,不同返回差值(有正负).7)字符串检索:public int indexOf(char ch);public int indexOf(char ch,int beginIndex);public int indexOf(String s);public int indexOf(String s,int beginIndex);8)字符串与字符数组的相互转换:copyValueOf9)去掉起始和结尾的空格:trim10)字符串替换:replace11)字符串大小写替换:toLowerCase/toUpperCase12)将其他数据类型转换为字符串:ValueOf13)字符串分割:split
五、异常处理:
- 异常:程序在运行过程中产生的不正常情况。
- Java处理异常的两种方式:
(1)throw关键字
使用throw关键字可以在指定的方法中抛出指定的异常。
使用格式:throw new xxxException(“异常产生的原因”);
(2)try-catch-finally - thorw和throws关键字。
Thorws:异常处理的一种方式,抛出异常,让别人处理。
六、Java IO流:
什么是流的读和写?
读:输入
写:输出流式输入/输出(流式I/O)是一种顺序存取方式。
字节流和字符流的区别?
字节流:面向字节的流,以8位1字节单位进行读写,是抽象类InputStream和OutputStream的子类。通常用于处理图像和声音。
字符流:是面向字符的流,以16位字符为单位进行读写。是抽象类Reader和Writer的子类。通常用于字符数据的处理。区别:传输大小不同。
节点流和处理流如何区分?
通过参数区分。
七、图形用户界面 GUI:
组件、容器、事件构成了图形用户界面的三大要素。
Java图形用户界面程序主要组成元素是组件。
容器:
容器是用来容纳其他组件和容器的特殊组件,是由容器类(Container类)创建的对象。在Java语言中,容器类是组件类(Componnent)的一个子类,具有组件的所有性质。
分类:(1)顶层容器:JFrame(最常用),JApplet,Jwindow,JDialog.(2)中间容器:JPanel,JScrollPane,JsplitPane,JDeskopPane,JToolBal.(3)特殊容器:在GUI上其特殊作用的中间层,如JInterNalFrame.
除了顶层容器外,其他组件是不能独立显示的,必须放在(add()方法)一定容器中才能显示出来。(add()方法是向容器中添加组件的唯一途径).
JFrame类设置窗体常用的方法:(1)setTitle(String title);(2)setBounds(int x,int y,int width,int height);//设置窗体显示的位置(x,y)及大小(3)setVisable(Boolean b);//默认使用JFrame类创建的窗体是不可见的,该方法可使窗体可见(4)setDefaultCloseOperaton(int operation); //设置关闭按钮的动作,参数为JFrame提供的四个静态常量(5)添加操作:若添加AWT组件,则使用add()方法;但Swing组件不能直接添加到顶层容器中(低版本JDK)。
面板:为了更好的管理组件
P175 实现布局
(1)不使用布局管理器:
(2)边界布局:由BorderLayout类实现
(3)顺序布局:由FlowLayout类实现
(4)网格布局:由GridLayout类实现
(5)卡片布局:由CardLayout类实现事件处理
事件处理过程主要涉及: 1.事件源 2.时间 3.事件处理者
事件源是事件发生的场所,通常是各个组件,如被单机的按钮;
事件是用户对界面的操作,如操作键盘时出发的键盘事件;
事件处理者则是对收到的事件进行处理的程序,也称为监听器。
八、Java多线程:
进程与线程:一个进程可以包含多个线程。
实现线程的两种方法:
(1)继承Thread类,重写run()方法,创建Thread子类对象,调用start()方法。
(2)实现Runnable接口,重写run()方法,创建Thread类对象,参数为实现接口: Thread th = new Thread(实现类对象);调用start()方法。线程的状态:
(1)新建
(2)就绪
(3)运行
(4)阻塞
(5)死亡生命周期:
线程类的主要方法:
Sleep方法:休眠
yield方法:暂停 (静态方法)
join方法:合并
destory方法:销毁
interrupt方法:中断。一个线程运行使,另一个线程可以调用对应的Thread对象 的interrupt方法中断它。
wait方法:使线程进入等待状态,直至被另一个线程唤醒。
注:sleep()调用会给较低优先级的线程一个运行机会,而yield()方法指挥给相同优 先级线程一个执行机会。
- 线程的同步:(为了避免同一个数据对象被多个线程同时访问)
JAVA基础----简答相关推荐
- java单链表查询功能,Java 实现简答的单链表的功能
作者:林子木 博客网址:http://blog.csdn.net/wolinxuebin 參考网址:http://blog.csdn.net/sunsaigang/article/details/5 ...
- 面试官问了我几道Java基础没答上来
面试官问了我几道Java基础没答上来 文章目录 面试官问了我几道Java基础没答上来 1.面向对象的三大特性,分别解释下? 2.说到多态,再来说下方法重载和重写的区别? 3.Java是面向对象的语言, ...
- 计算机应用基础讨论题目,计算机应用基础简答的题目答案.doc
<计算机应用基础>课后习题简答题答案 习题一 1.计算机的应用领域主要有哪些? 答:1.科学计算:2.事务处理:3.过程控制:4.辅助工程:5.网络应用 2.何谓指令?指令中的操作码.操作 ...
- Java基础-简聊类与对象
简聊类和对象 我们在了解类和对象前,先聊下面向对象程序设计,面向对象程序设计就是通过对象来进行程序设计,对象表示一个可以明确标识的实体,比如:一辆车.一个人.一朵花等等,每个对象都有它自己独特的标识: ...
- java画笑脸_java的画图运用。一个简答的笑脸程序☺
一个简答的笑脸. 需要两个java文件 代码如下: GradeBook.java import java.awt.Color; import java.awt.Graphics; import jav ...
- 计算机应用简答,计算机应用基础简答题.doc
<计算机应用基础简答题.doc>由会员分享,提供在线免费全文阅读可下载,此文档格式为doc,更多相关<计算机应用基础简答题.doc>文档请在天天文库搜索. 1.计算机应用基础 ...
- java十四章简答_java各章节简答题
Java简答题第1章 1.Java语言的特点? 答:简单性.面向对象.分布式处理.健壮性.结构中立.安全性.可移植性.解释性.高性能.多线程.动态 2.Java程序的开发步骤 1)编写源文件.扩展名必 ...
- 计算机基础知识简答题汇总,计算机基础(简答)
计算机基础知识 简述计算机的发展经历了那几个阶段? 人们根据计算机采用的主要元器件的不同,将电子计算机的发展分为四代: 第一代(1946年-1956年)为电子管计算机,也叫真空管计算机,其主要逻辑元件 ...
- java面试基础问题答不上来怎么办,快来看鸭~
Java面试高频题:Spring Boot+Sentinel+Nacos高并发已撸完前段时间自己有整理了一些Java后端开发面试常问的高频考点问题做成一份PDF文档(1000道高频题),同时也整理一些 ...
最新文章
- 用onerror处理图片获取失败问题
- Android Framework------之Property子系统
- SpringBoot微服务 b2b2c 多用户商城系统(八)springboot整合mongodb
- matlab转向梯形优化设计,转向梯形优化设计matlab程序
- 图论--网络流最大流问题
- 获取/设置IFRAME内对象元素的几种JS方法
- php array_key_exists() 与 isset() 的区别
- NGINX(二)内存池
- 利用ajax查询数据库显示在前台,ajax动态查询数据库数据并显示在前台的方法
- MySQL详细安装教程
- 物流配送软件测试,物流配送最优路径规划
- linux ping 不通 arp incomplete,关于show arp表,显示Incomplete问题
- 海思isp图像处理芯片_最新海思芯片3559A的功能简介
- 科学计算机如何将角度换成小数点,角度计算器-卡西欧计算器上D(角度制)怎么切换RT– 手机爱问...
- OSChina 周一乱弹 —— 我当你是朋友,你却……
- animite cc html5项目,Animate CC HTML5/Canvas使用actionscript控制嵌套的MovieClip時間軸
- 30天自制操作系统-3
- itextpdf将带复选框的html_使用flying-saucer 实现 html转pdf实现input框select,textarea checkbox等的显示...
- Java并发编程|第二篇:线程生命周期
- 2022-2028年中国棉花采摘机行业市场调查研究及投资策略研究报告
热门文章
- 深度学习在推断阶段(inference)的硬件实现方法概述
- Spring Data JPA 梳理 - JPA是什么
- 【洛谷P1169】[ZJOI2007]棋盘制作
- Python学习:Mysql(二)
- Spring配置文件总结
- TCP/IP协议学习(五) 基于C# Socket的C/S模型
- sqlplus 登陆报协议适配器错误
- 屋子里有1到100号100盏关闭的灯
- c# session总结
- Test: 为WLW添加源代码着色插件WindowsLiveWriter.CNBlogs.CodeHighlighter