JAVA
B站学JAVA
001_如何学习java300集
300集特点
三重:
重代码(现场敲代码)
重底层(内存分析、源码源码)
重项目(项目穿插教学)

整体把握,宏观的建立知识体系,不断攀爬,俯瞰学科知识,降维打击
建立知识体系重于遍地开花了解知识点
002_计算机发展史和发展方向







003_编程语言介绍
一定 一定 一定 学好c语言
c++
java 编程界的英语
php 中小型网站
object c swift 苹果
JavaScript 必学
python 可选 机器学习 人工智能
c# 。。。
004_java发展史和未来
sun
生态牛逼
学就对了
005_java核心优势和生态体系
跨平台
生态体系:企业,安卓,大数据,云
006_java三大版本含义----javame和安卓开发的关系
javase:标准版,个人计算机
javaee:企业版,服务器端应用 最叼
javame:微型版,越来越少,被安卓取代
007——java特性和优势
跨平台
安全 面向对象 简单(难在协作和架构) 高性能 分布式? 多线程(打造高性能服务器)
健壮性
008_java运行机制
Java 编译+解释

jre避免了java程序直接接触系统平台
009_jdk jre jvm 作用和区别


010jdk安装

存放jdk源码 在lib里
011环境配置
过了
http://www.sxt.cn/Java_jQuery_in_action/environment_variable_configuration.html
013 java程序
记事本

014错误是提高的机会
015第一个Java程序详解
速过
016常用dos命令

017常用开发工具
ide
eclipse速过
018 019eclipse
eclipse版本跟jdk统一
项目就是资源的统一管理
WIN10下eclipse,总是会弹出An internal error occurred during: "Polling news feeds".
022桌球小项目
加载窗口
import java.awt.*;
import javax.swing.*;
public class ZXGame extends JFrame{
//窗口加载
void launchFrame()
{
setSize(300,300);
setLocation(400,300);
setVisible(true);
}
public static void main(String[] args)
{
ZXGame game = new ZXGame();
game.launchFrame();
}
}
结果:
加载图片
import java.awt.*;
import javax.swing.*;
public class ZXGame extends JFrame{
//加载图片
Image xlz = Toolkit.getDefaultToolkit().getImage("image/ZX.png");
Image can = Toolkit.getDefaultToolkit().createImage("image/CAN.png");
//画窗口的方法
public void paint(Graphics g)
{
System.out.println("窗口被画了一次");
//谁在下面先画谁
g.drawImage(can,0,0,null);
g.drawImage(xlz,100,100,null);
}
//窗口加载
void launchFrame()
{
setSize(800,500);
setLocation(50,50);
setVisible(true);
}
public static void main(String[] args)
{
ZXGame game = new ZXGame();
game.launchFrame();
}
}

注:可能会不显示图片,在最小化后再打开就显示了,涉及到图片的懒加载?
添加动画
import java.awt.*;
import javax.swing.*;
public class ZXGame extends JFrame{
//加载图片
Image xlz = Toolkit.getDefaultToolkit().getImage("image/ZX.png");
Image can = Toolkit.getDefaultToolkit().createImage("image/CAN.png");
double x = 100;//xl的横坐标
double y = 100;//xl的纵坐标
boolean right = true; //方向
//画窗口的方法
public void paint(Graphics g)
{
System.out.println("窗口被画了一次");
//谁在下面先画谁
g.drawImage(can,0,0,null);
g.drawImage(xlz,(int)x,(int)y,null);
if(right)
{
x = x + 10;
}
else {
x = x - 10;
}
if(x<50)
{
right = true;
}
if(x>350)
{
right = false;
}
}
//窗口加载
void launchFrame()
{
setSize(800,500);
setLocation(50,50);
setVisible(true);
//重画窗口每秒画25次
while(true)
{
repaint();
try {
Thread.sleep(40);//40ms
}catch(Exception e) {
e.printStackTrace();
}
}
}
public static void main(String[] args)
{
ZXGame game = new ZXGame();
game.launchFrame();
}
}
不停的画
任意角度
import java.awt.*;
import javax.swing.*;
public class ZXGame extends JFrame{
//加载图片
Image xlz = Toolkit.getDefaultToolkit().getImage("image/ZX.png");
Image can = Toolkit.getDefaultToolkit().createImage("image/CAN.png");
double x = 100;//xl的横坐标
double y = 100;//xl的纵坐标
// boolean right = true; //方向
double degree = 3.14/3;
//画窗口的方法
public void paint(Graphics g)
{
System.out.println("窗口被画了一次");
//谁在下面先画谁
g.drawImage(can,0,0,null);
g.drawImage(xlz,(int)x,(int)y,null);
x = x + 10*Math.cos(degree);
y = y + 10*Math.sin(degree);
if(y>500 || y<40)
{
degree = -degree;
}
if(x>350 || x<50)
{
degree = 3.14 - degree;
}
//
// if(right)
// {
// x = x + 10;
// }
// else {
// x = x - 10;
// }
//
// if(x<50)
// {
// right = true;
// }
//
// if(x>350)
// {
// right = false;
// }
//
//
}
//窗口加载
void launchFrame()
{
setSize(800,500);
setLocation(50,50);
setVisible(true);
//重画窗口每秒画25次
while(true)
{
repaint();
try {
Thread.sleep(40);//40ms
}catch(Exception e) {
e.printStackTrace();
}
}
}
public static void main(String[] args)
{
ZXGame game = new ZXGame();
game.launchFrame();
}
}
023注释
/*
* 这是多行注释
* 这是多行注释
* 这是多行注释
*/
/**
* 用来测试注释的用途(包含:多行注释,单行注释,文档注释)
* @author yrf18
*帮助生成文档,日后再解释
*/
public class TestComment {
public static void main(String[] args/*args是参数*/) {
System.out.println("测试注释!");//这是打印语句
}
}
024标识符规则 驼峰规则

起名字的规范
025关键字保留字
026变量

车位
027变量分类

知新而温故,使劲往后学
028常量和final
常量:一旦被指定值之后就不能再修改的量
被final修饰的常量叫做符号常量 其他如1,54,”wddxrw“等叫做字面常量
常量用字母大写加下划线连接的方式命名
029基本数据类型


其中:
引用数据类型占4字节,代表对象的地址
char 2字节
boolean 1位
byte 1字节
short 2字节
int 4字节
long 8字节
float 4字节
double 8字节
030整形常量和整形变量


031浮点变量和BigDecimal的使用


e2 相当于 *10^2 相当于 乘十的二次方
浮点常量默认double
float后显式加F
032字符型类型——转义字符
unicode 65535
033布尔类型 if语句使用要点
034运算符介绍

035算术运算符(二元 自增 自减)


036赋值运算符和赋值扩展运算

037关系运算符


038逻辑运算符 短路运算符

039位运算符

注意:

040字符串连接符

041条件预算符

042运算符优先级

043自动类型转换

044强制类型转换


045基本类型转换中的常见错误和类型
大数操作考虑溢出

046简单的键盘输入

3.1选择结构

3.1.1单选择结构


3.1.2if-else双选择结构

3.1.3if-else if-else多选择结构

3.1.4switch多选择结构

3.2循环结构

3.2.1while循环

3.2.2do-while循环

3.2.3for循环

3.2.4嵌套循环

3.2.5berak和continue语句



3.2.6带标签的break和continue语句

从内循环跳到外循环
3.3语句块

3.4方法


3.5方法的重载

3.6递归结构


4.1面向过程和面向对象

相辅相成,而非对立




》》对象是什么?对象和数据管理





062对象和类的关系 属性 成员变量 方法


实例==对象

》》一个典型类的写法和调用 类的UML图入门
>>内存分析详解 栈 堆 方法区 栈帧 程序执行的内存变化过程



new 在堆

数值等其他常量不在方法区


浙公网安备 33010602011771号