Java语言基础及java核心
一、Java语言特点
1、 简单
2、 面向对象
3、 分布式
4、 健壮
5、 安全
6、 中性架构跨平台
7、 超强的可移植性
8、 高性能
9、 多线程
二、java的环境变量
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_101 (到你的安装目录下)
CLASSPASH=./ (点代表当前路径)
PATH=%JAVA_HOME%;
三、环境变量详解
1、JAVA_HOME
a) Java的主目录,就是java的安装目录
b) 用来识别hava安装位置
2、PATH
a) 操作系统执行命令的搜索路径
b) Windows和linux都有
c) 当os执行命令的时候,会再PATH指定的路径中搜索
注意:WindowsXP使用“;”分号分隔路径,Linux使用“:”冒号分隔路径,都是英文下。
要保留系统原始的PATH,不然会造成OS的混乱,甚至不能引导
3、CLASSPATH
Java的类的搜索路径,类就是java的可执行文件,JVM利用CLASSPATH搜索用到的类,类似于PATH
四、第一个java程序
五、java的注释
1、注释
被java编译器忽略的部分
用于对代码进行标注,生成文档
用于临时取消部分代码段
2、 注释语法,有三种:
单行注释:由//引导,到当前行尾结束
//内容内容内容
多行注释:由/*开始到*/结束,注释多行
/*内容内容内容*/
文档注释:由/**开头,*/结束,注释多行,用于生成文档,放在被注释的对象之前
/**内容内容内容*/
注释示例
六、包
包,是java中用于对于资源进行分类的
a)
如:相关的类放在同一包下,系统包:java.io,java.swing
b)
类似于OS文件系统中,文件夹是对文件分类的。
c)
在当前类中使用其他包中的资源,需要导入进来:import java.util.*;或者import Java.util.Random;
d)
在java源文件中默认导入java.lang.*;
e)
Import语句在package以后
七、标识符
1、标识符:在java语言中用来给一个类、变量或方法命名的符号标识
2、Java标识符的规则
a)
以 字母、$、_ 为开头,不能以数字开头
b)
第二个字符开始是字母、数字、$、_
c)
不限制长度
d)
不能是java的关键字
e)
带小写是敏感的
f)
字母,可以是中文
g)
例如:identifier _sys_ var1 $char userName user_name 美女
八、变量
1、 变量的声明时必须指定变量的类型。
2、 在方法中声明的变量成为局部变量。
3、 局部变量在使用前必须初始化(第一次的赋值操作称为初始化)
4、 变量不能重复定义
九、数据类型
1、 Java是强类型语言,任何数据都是有类型的
2、 计算机中一切都是数据
3、 Boolean 布尔类型
4、 Char 字符类型
5、 Byte 字节整数类型,8位有符号整数
6、 Short 短整数类型,16位有符号整数
7、 Int 整数类型,32位有符号整数
8、 Long 整数类型,64位有符号整数
9、 Float 浮点类型,32位有符号浮点数
10、
Double浮点类型,64位有符号浮点数
十、运算符
序号 |
描述 |
运算符 |
1 |
括号和引用 |
() [] |
2 |
单目运算符 |
++ -- |
3 |
算数运算符 |
* / |
4 |
关系运算符 |
> >= |
5 |
逻辑运算符 |
&& || & | |
6 |
位运算符 |
<< >> |
7 |
条件运算符 |
? : |
8 |
赋值运算符 |
= += >>>= <<&= |= |
十一、分支语句
1、if
2、If嵌套
练习1:给你5个整数,你输出最小值
练习2:计算一下出租车的车费,车费由两部分组成:
公里数:0-3公里收10元;4-15公里每公里2元;15公里以上的部分每公里3元。
等候时间:每2分半收1元,不足2分半的不收费
规则:不足1公里的按1公里计算,车费是公里数+等候时间的钱。
比如:18公里299秒,应收车费44
要求:输入公里数和秒数,输出车费。
3、 For
4、 while
5、break continue return(转向语句)
continue:终止本次循环,继续下次循环;
break:跳出最内层循环;
return:直接跳出方法体
练习3:1~100的质数
练习4:36个人搬36块砖,男人一个人搬4,女3,小孩2个人搬1块,所有人一次搬完,几男几女几小孩。
十二、数组
1、 数组的声明:
Int[]arr;
2、 数组的初始化:
Int[]arr={1,2,3};
Int[]arr=new
int[4];
3、 数组的访问
Int[]arr={1,2,3};
Intx=arr[2]; //取出下标为2的元素
4、 长度 arr.length
5、 数组元素的初始化操作
Int[]arr=new int[4];
For(int i=0;i<arr.length;i++){
Arr[i]=i+1;
}
6、 打印数组
Java.util.arrays;
System.out.println(arrays.tostring(arr));
练习5:双色球,红球33选6,蓝球16选1
十三、字符串常用的方法
十四、方法
[修饰符]返回类型 方法名(参数类型 参数变量,参数类型2 参数变量2){
方法体
}
1、 修饰符可以使0~n个,但是要保证正确使用。
2、 方法的参数可以是0~n个。
3、 方法的参数是局部变量。
4、 如果方法有返回值(返回类型是void),那么该方法就必须有return语句,用来返回和返回类型相兼容的数据,此时retunrn后面必须加数据,。
5、 如果方法无返回值(返回类型是void)那么该方法中可以有retunrn语句(也可以没有),如果有return语句用来直接跳出方法体,此时retunrn后面一定不能加数据。
6、 方法中不能嵌套方法。
7、 实参:实际传入方法中的参数,相当于给变量初始化。
8、 形参:形式参数,是方法临时定义的参数,相当于只声明了变量。
十五、对象与类
世间万物,一切皆对象。
我们将一组具有相同数据和操作的对象抽象为一种类型,这个类型就是类
1、java类的语法
2、成员变量
在类体中方法外定义的变量成为成员变量
成员变量java编译器会给他们提供默认值
成员变量的作用范围比局部变量大
3、构造器
与类名相同,描述对象的创建过程,不能声明返回值,使用new运算调用
4、默认构造器
a)
每个类都有构造方法
b)
如果类没有定义构造方法,java将自动添加默认构造方法
c)
默认构造方法是公有空实现的
d)
如果定义了构造方法,就不再提供默认构造器了
例如:pbulic student(){}
5、 This
代表当前对象本身,是当前对象的引用,就像交谈对话中的带刺“我”代表说话人本身
用法:引用当前对象的成员:属性或方法,经常用来区分实例变量和局部变量,例如:
public
student(string name,int age){
this.Name=name;
this.age=age;
}
6、 练习
案例描述:写一个person类代表人,包括以下属性:
String name;int age;char gender;person
partner.
为person类写一个marry(person
p)方法,代表当前对象和p结婚,如若可以结婚,则输出恭贺新禧,否则输出不能结婚的原因。要求在另一个类中写一个主方法,来测试以上程序(以下情况不能结婚:1同性;2未达到结婚年龄,男<22,女<20;3某一方已结婚)。
7、 继承
a)用来描述自然界中类型之间是“is a”的关系
例如:班长是学生,经理是员工
被继承类叫父类,继承类叫子类,子类可以继续继承
子类实例也是父类实例
子类默认继承父类的属性和方法
构造器不能被继承
b)java是单一继承语言
子类只能有一个父类
没有父类,默认继续与java.lang.Object
8、 重写
方法的重写一定是在子类中声明
方法名相同,参数类型相同
9、 访问权限修饰符
10、
static
静态变量和方法
直接使用类名来访问
如:integer.parseint(string
str),math.sin(double v)
11、final
12、abstract
a)抽象方法
使用abstract修饰,没有方法体定义
抽象方法只能放在抽象类中
b)抽象类
使用abstract修饰的类
包含抽象方法的类一定是抽象类
一个类继承了抽象类应该重写并实现抽象类中所有的抽象方法
抽象类不能被实例化,可以用来引用子类的实例
13、
封装类
包装类可以把基本类型包装为对象类型,java一共有8种包装类,分别是:
基本类型 |
所对应的包装类 |
byte |
Byte |
short |
Short |
int |
Integer |
long |
Long |
float |
Float |
double |
Double |
boolean |
Boolean |
char |
Character |
14、封装类常用的API
包装类提供了对应数据类型的工具方法
常用的API有:
1>Integer.toHexString();
以16进制的形式将int值输出
2>Integer.toString(int);
以10进制的形式将int值输出
3>Integer.toBinaryString();
以2进制的形式将int值输出
4>Integer.parseInt(String);
将字符串转换为对应的int类型
6>Double.parseDouble(String
str); 将字符串转换为对应的double类型
在java5以后支持自动装箱和解箱。
15、
ArrayList
1>底层是用数组实现的。
2>迭代和查找速度快。
3>创建 ArrayList list = new
ArrayList();
4>常用的API:
A)list.add(Object obj); 将元素obj添加到集合的尾部。
B)list.remove(int index); 从集合中删除下标为index的元素,同时返回这个元素。
C)list.remove(Object obj); 从集合中删除首次出现的obj元素,如果存在则删除同时返回true,不存在返回false。
D)list.get(int index); 从集合中取出下标为index的那个元素。E)list.size(); 返回集合的大小。
F)list.isEmpty(); 验证集合是否没有元素,如果没有返回true,反之返回false。
G)list.add(int index,Object obj); 将指定的元素插入到下标为index的位置。
16、异常
软件过程运行中出现的意外错误,java提供了一套处理错误机制叫:异常控制
异常是方法运行期间出现的,发生异常,叫:异常的抛出,在代码出现意外的时候可以用throw抛出异常实例。
在方法上定义可能抛出的异常,叫异常的声明,在方法上使用throws声明异常
使用java语法处理方法抛出的异常,叫异常的捕获,使用try…catch…finally捕获处理异常
Java语言基础及java核心的更多相关文章
- Java 语言基础 (初识Java语言, 变量和数据类型, 运算符, 流程控制语句, 数组)
初始 Java 语言 Java SE -- Java Platform, Standard Edition 是 Java 平台的基础 Java SE 以前称为 J2SE, 可以编写桌面应用和基于 we ...
- day05<Java语言基础--数组>
Java语言基础(数组概述和定义格式说明) Java语言基础(数组的初始化动态初始化) Java语言基础(Java中的内存分配以及栈和堆的区别) Java语言基础(数组的内存图解1一个数组) Java ...
- day01<计算机基础知识&Java语言基础>
计算机基础知识(计算机概述) 计算机基础知识(软件开发和计算机语言概述) 计算机基础知识(人机交互) 计算机基础知识(键盘功能键和快捷键) 计算机基础知识(如何打开DOS控制台) 计算机基础知识(常见 ...
- 2018.6.13 Java语言基础复习总结
Java语言基础与面向对象编程实践 第一章 初识Java 1.1机器语言 机器语言是指一台计算机全部的指令集合.机器语言室友0和1组成的二进制数,是一串串由0和1组成的指令序列,可将这些指令序列交给计 ...
- Java学习总结(二)----Java语言基础
1. Java语言基础 2.1 关键字 定义:被java语言赋予特殊含义的单词 特点:关键字中的字母都为小写 用于定义数据类型的关键字 class,interface,byte,short,i ...
- java语言基础02
一.Java语言基础(常量的概述和使用)(掌握) 1:什么是常量 就是在程序的执行过程中其值不发生改变的量. 2:Java中常量的分类 (1):字面值常量 (2):自定义常量(面向对象部分讲解) 3: ...
- Java之--Java语言基础组成—数组
Java语言基础组成-数组 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的数组,数组 ...
- Java之--Java语言基础组成—函数
Java语言基础组成-函数 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的函数,函数 ...
- Java之--Java语言基础组成(关键字、标识符、注释、常量和变量、运算符)
Java语言基础组成-关键字.标识符.注释.常量和变量.运算符 Java语言由8个模块构成,分别为:1.关键字:2.标识符(包名.类名.接口名.常量名.变量名等):3.注释:4.常量和变量:5.运算符 ...
随机推荐
- python基础----求水仙花数
水仙花数,即一个三位数,各个位上的数字的三次方相加,等于该数本身.如:153 = 1**3 + 5 ** 3 + 3 ** 3 def is_narc_num(n): # if n <100 o ...
- SpringBoot入门简介
SpringBoot诞生的背景 所有软件行业里面,如果要说商用体系,排在第一位的永远是java,因为java的体系丰富,支持度高,安全性也高 但是我们所有的开发者也不得不去忍受Java中的以下痛苦 举 ...
- Django建表
最近在学习Django,遇到了些问题一起来看看吧. 1.自定义表名 Django 建表默认会以 app_name + Class_name 解决方法 #coding:utf8 from django. ...
- 图片查看器(类似于QQ,另外又加了JARA的下方的图片缩略导航图)
源码地址:https://gitee.com/yolanda624/coffer/tree/master/src/components/a-photo-view
- XMPP即时通讯协议使用(十二)——基于xmpp搭建简单的局域网WebRTC
创建HTML和JS ofwebrtc.html <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" ...
- shell input value from console
echo "Please enter some input: " read input_variable echo "You entered: $input_variab ...
- 【LeetCode】Array
[11] Container With Most Water [Medium] O(n^2)的暴力解法直接TLE. 正确的解法是Two Pointers. O(n)的复杂度.保持两个指针i,j:分别指 ...
- Android 编译笔记20191205
gradle下载很慢 解决问题的方法如下: 使用文件管理器 打开用户主目录 windows平台: c:\Users\用户名\.gradle macos平台: /Users/用户名/.gradle li ...
- tomcat的server.xml配置
<Host>标签 appBase属性: 1 这个目录下面的子目录将自动被部署为应用. 2 这个目录下面的.war文件将被自动解压缩并部署为应用 一 ...
- idea maven打jar包
双击clean install 会在根目录targer生成文件(注意删除test和替换yml文件)