java学习--阶段一
- [Hello world程序](#Hello world程序)
- [01 JAVA入门](#01 JAVA入门)
- [02 JAVAweb](#02 JAVAweb)
Hello world程序
文件名跟类名一致
大小写敏感
notepad++
java
public class hello{ %%类及类名
public static void main(String[] args){ %%main 方法 (快速创建:psvm)
System.out.print("hello,world"); (快速创建:sout)
}
}
运行命令行
java
javac hello.java ==>class 文件
java hello
01 JAVA入门
java
修饰符 返回值类型 方法名(形参列表)
{
方法体代码(需要执行的功能代码)
return 返回值;
}
方法重载:方法名称相同,形参列表不同
输入/输出
java
import java.util.Scanner; //告诉程序去JDK那个包中找扫描器技术
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); //代表得到键盘扫描器对象
System.out.println("请输入:");
int age = sc.nextInt(); //等待接收用户输入数据
System.out.println("年龄是:"+ age);
}
}
面向对象编程
java
public class star{ //先设计对象的模板,对象的设计图:类
String name;
int age; //变量
double height;
public static void main(String[] args) {
star s1 = new star(); //通过new关键字,得到一个新的对象
s1.name = "紫玉";
s1.age = 23;
s1.height = 182;
}
}
对象是用类new出来的,有了类就可以创建对象
类名 对象名 = new 类名();
this关键字
变量,用在方法中,来拿到当前对象。哪个对象调用方法,this就指向哪个对象。
封装
实体类javabean
static
静态变量会被类的所有对象共享
继承
提高代码的重用性,减少重复代码的书写
单继承,就近原则
java
public class People{
private String name;
public String getName() {
return name;
}
public void setName(String name)
{
this.name = name;
}
}
public class Teacher extends People{ 子类继承非私有成员
private String skill;
public String getSkill(){
return skill;
}
public void setSkill(String skill) {
this.skill = skill;
}
}
权限修饰符
private<缺省<protected<public
方法重写
子类觉得父类中的某个方法不好用,或者无法满足自己的需求时,子类可以重写一个方法名称、参数列表一样的方法,覆盖父类的这个方法。
多态
多态是在继承/实现情况下的一种现象,表现为对象多态,行为多态。
java
People p1 = new Student();
People p2 = new Teacher();
//强制类型转换
Teacher t = (Teacher)p2; 解决了多态下不能调用子类独有方法的问题
抽象类
final
修饰类:不能被继承了
修饰方法:不能被重写了
修饰变量:该变量有且仅能被赋值一次
java
public abstract class A{
public abstract void test(); 抽象方法不能写方法体
}
抽象类不能创建对象,仅作为一种特殊的父类,让子类继承并实现。继承抽象类必须重写全部抽象方法。
接口
接口不能创建对象
java
public interface 接口名{
//成员变量
//成员方法(抽象方法)
}
修饰符 class 实现类类名 implements 接口1,接口2,...{
//实现类实现多个接口,必须重写全部接口的全部抽象方法,否则实现类需要定义成抽象类
}
内部类
匿名内部类
java
new Animal(){
@override
public void cry() { //类体,一般是方法重写
}
};
java
public class Test {
public interface Swimming{
void swim();
}
public static void main(String[] args) {
Swimming s1 = new Swimming(){
@Override
public void swim(){
System.out.println("学生游的飞快");
}
};
go(s1);
go(new Swimming() {
@Override
public void swim() {
System.out.println("老师游泳还行");
}
});
}
public static void go (Swimming s) {
System.out.println("开始----------");
s.swim();
}
}
开始----------
学生游的飞快
开始----------
老师游泳还行
函数式编程
Lambda
使用Lambda函数代替某些匿名内部类对象,从而让程序代码更简洁
API
应用程序接口
GUI编程
图形用户界面
常见的Swing组件
JFrame:窗口
JPanel:用于组织其他组件的容器
JButton:按钮组件
JTextField:输入框
JTable:表格
常见的布局管理器
FlowLayout BorderLayout GridLayout BoxLayout
事件处理
常用的事件监听对象:
点击事件监听器:ActionListener
按键事件监听器:KeyListener
鼠标事件监听器:MouseListener
02 JAVAweb
HTML :负责网页的结构(页面元素和内容)
CSS:负责页面的表现(页面元素的外观、位置等页面样式)
JavaScript:负责页面的行为(交互效果)
HTML&CSS
html
<html lang="en">
<head>
<meta charset="UTF-8">
<title>hello world</title>
</head>
<body>
<h1> HTML 入门</h1>
</body>
</html>
表单
html
<html>
<head>
<meta charset="utf-8">
<title>表单</title>
</head>
<body>
<form action="" method="post">
用户名:<input type="text" name ="username"><br><br>
密码:<input type="password " name="age"><br><br>
性别:<input type="radio" name="gender" value="1">男 <!--单选按钮-->
<label><input type="radio" name="gender" value="2">女</label> <br><br>
爱好:<label><input type="checkbox" name="hobby" value="game">game</label> <!--复选框-->
<label><input type="checkbox" name="hobby" value="sing">sing</label><br><br>
图像:<input type="file" name="image"><br><br>
生日:<input type="date" name="birthday"><br><br>
时间:<input type="time" name="time"><br><br>
年龄:<input type="number" name="age"><br><br>
学历:<select name="degree">
<option value="">-----------请选择---------</option>
<option value="1">大专</option>
<option value="2">本科</option>
</select><br><br>
描述:<textarea name="description" cols="30" rows="10"></textarea><br><br>
<!--定义隐藏域-->
<input type="hidden" name="id" value="1">
<!--常见表单按钮-->
<input type="button" value="按钮">
<input type="reset" value="重置">
<input type="submit" value="提交">
</form>
</body>
</html>
Javascript
这门语言让我们的页面能够和用户进行交互
JS代码定义在HTML页面中
html
<script>
alert("Hello")
</script>
外部脚本将JS代码定义在外部JS文件中,然后引入HTML
html
<script src = "js/demo.js"></script>
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>JS-引入</title>
<!-- <script>alert("Hello")</script>-->
</head>
<body>
<script>
//弹出警告框
// window.alert("heollo");
//写入HTML页面
// document.write("hello js");
//写入控制台
console.log("hello js");
</script>
</body>
</html>
函数
html
<body>
<script>
function add(a, b){
return a+b;
}
let result = add(10,10);
alert(result);
</script>
</body>
html
<body>
<script>
var add = function (a, b){
return a+b;
}
var result = add(10,10);
alert(result);
</script>
</body>
javascript对象
array
string
josn:这种数据格式的文本经常用来作为前后台交互的数据载体
BOM对象:浏览器对象模型
| 对象名称 | 描述 |
|---|---|
| Window | 浏览器窗口对象 |
| Navigator | 浏览器对象 |
| Screen | 屏幕对象 |
| history | 历史记录对象 |
| location | 地址栏对象 |
DOM对象:将HTML文档的各个组成部分封装为对象。通过修改HTM元素的内容和样式等来实现页面的各种动态效果。
javascript事件
- 事件绑定
html
//方式1:通过HTML标签中的事件属性进行绑定
<input type = "button" id = "btn1" value = "事件绑定1" onclick = "on()">
<script>
function on(){
allert("按钮1被点击")
}
</script>
//方式2:通过DOM中element元素的事件属性进行绑定
<input type = "button" id = "btn2" value = "事件绑定2" >
<script>
document.getElementById('btn2').onclick = function (){
alert("按钮2被点击了")
}
</script>
- 常用事件
| 事件属性名 | 说明 |
|---|---|
| onclick | 鼠标单击事件 |
| onblur | 元素失去焦点 |
| onfocus | 元素获得焦点 |
| onload | 某个页面或图像被完全加载 |
| onsubmit | 当表单提交时触发该事件 |
| onmouseover | 鼠标被移到某元素之上 |
| onmouseout | 鼠标从某元素上移开 |
vue
侧重于viewModel部分开发的VUE前端框架,用来替代JavaScript的DOM操作,让数据展示到视图的代码开发简单
生命周期
Ajax
作用:
- 与服务器进行数据交换:通过Ajax可以给服务器发送请求,并获取服务器的响应
- 异步交互:在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页的技术
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>原生AJax</title>
</head>
<body>
<input type="button" value="获取数据" onclick="getData()">
<div id="div1"></div>
</body>
<script>
function getData(){
}
//创建XMLHTTPRequest
var xmlhttpRequest = new XMMLHttpRequest();
//发送异步请求
xmlhttpRequest.open('GET','http://yapi.smart-xwork.cn/mock/169327/emp/list');
xmlhttpRequest.send(); //发送请求
//获取服务响应数据
xmlhttpRequest.onreadystatechange = function (){
//判断:浏览器完全接受到Ajax请求得到响应 这是一个正常的HTTP请求
if(xmlhttpRequest.readyState == 4 && xmlhttpRequest.status == 200)
{
document.getElementById('div1').innerHTML = xmlhttpRequest.responseText;
}
}
</script>
</html>