java基础学习

java学习--阶段一

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>

Axios

相关推荐
落羽凉笙5 小时前
Python学习笔记(3)|数据类型、变量与运算符:夯实基础,从入门到避坑(附图解+代码)
笔记·python·学习
Quintus五等升5 小时前
深度学习①|线性回归的实现
人工智能·python·深度学习·学习·机器学习·回归·线性回归
天远Date Lab5 小时前
Python实战:对接天远数据手机号码归属地API,实现精准用户分群与本地化运营
大数据·开发语言·python
野生的码农6 小时前
码农的妇产科实习记录
android·java·人工智能
哈里谢顿6 小时前
Python异常链:谁才是罪魁祸首?一探"The above exception"的时间顺序
python
哈里谢顿6 小时前
验证 list() 会调用 `__len__` 方法的深度解析
python·django
jz_ddk7 小时前
[学习] 卫星导航的码相位与载波相位计算
学习·算法·gps·gnss·北斗
毕设源码-赖学姐7 小时前
【开题答辩全过程】以 高校人才培养方案管理系统的设计与实现为例,包含答辩的问题和答案
java
vibag7 小时前
构建智能体与工具调用
python·语言模型·大模型·langgraph
一起努力啊~7 小时前
算法刷题-二分查找
java·数据结构·算法