07 2020 档案
摘要:Markdown学习 标题 三级标题 四级标题 字体 Hello,World ! Hello,World ! Hello,World ! Hello,World ! 引用 选择狂神说java,走向人生巅峰 分割线 图片 超链接 点金跳转到狂神博客 列表 A C A B C 表格 名字性别生日 张三
阅读全文
摘要:反射操作注解获得注解信息 练习:ORM 代码练习 import java.lang.annotation.*; import java.lang.reflect.Field; //练习反射操作注解 public class Test12 { public static void main(Strin
阅读全文
摘要:获取泛型信息 反射操作泛型 代码练习 import com.exception.demo01.Test; import java.lang.reflect.Method; import java.lang.reflect.ParameterizedType; import java.lang.ref
阅读全文
摘要:性能对比分析(普通方法/反射/反射关闭检测) import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; //分析性能问题 public class Test10 { //普通方式调用 pu
阅读全文
摘要:通过反射动态创建对象执行方法 有了Class对象,能做什么? 调用指定的方法 Object invoke方法 setAccessible import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java
阅读全文
摘要:获得类的运行时结构 代码如下 import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.Method; //获得类的信息 public class Test08 { p
阅读全文
摘要:类加载器 类加载器的作用 代码如下 public class Test07 { public static void main(String[] args) throws ClassNotFoundException { //获取系统类的加载器 ClassLoader systemClassLoad
阅读全文
摘要:分析类初始化 代码示例 //测试类什么时候会初始化 public class Test06 { static { System.out.println("Main类被加载"); } public static void main(String[] args) throws ClassNotFound
阅读全文
摘要:类加载内存分析 了解:类的加载过程 类的加载与ClassLoader的理解 代码如下 public class Test05 { public static void main(String[] args) { A a = new A(); System.out.println(A.m); } /*
阅读全文
摘要:所有类型的Class对象 哪些类型可以有Class对象 代码演示 import java.lang.annotation.ElementType; //所有类型的Class public class Test04 { public static void main(String[] args) {
阅读全文
摘要:得到Class类的几种方式与常用方法 Class类 Class类的常用方法 获得Class类的实例 代码如下 //测试classs类的创建方式有哪些 public class Test03 { public static void main(String[] args) throws ClassNo
阅读全文
摘要:反射机制的应用和获得反射对象 Java反射优点和缺点 优点 可以实现动态创建对象和编译,体现出很大的灵活性 缺点 对性能有影响。使用反射基本上是一种解释操作,我们可以告诉JVM,我们希望做什么并且它满足我们的要求。这类操作总是慢于直接执行相同的操作。 反射相关的主要API java.lang.Cla
阅读全文
摘要:反射概述(静态 VS 动态语言) Java.Reflection 静态 VS 动态语言
阅读全文
摘要:自定义注解 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.an
阅读全文
摘要:元注解 代码如下 import java.lang.annotation.*; //测试元注解 @MyAnnotation public class Test02 { @MyAnnotation public void test(){ } } //定义一个注解 //Target 表示我们的注解可以用
阅读全文
摘要:内置注解 public class Test01 extends Object{ //@Override 重写的注解 @Override public String toString() { return super.toString(); } //Deprecated 不推荐程序员使用,但是可以使
阅读全文
摘要:什么是注解 Java.Annotation //什么是注解 public class Test01 extends Object{ //@Override 重写的注解 @Override public String toString() { return super.toString(); } }
阅读全文
摘要:线程小结(代码) import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.FutureTask; //回顾总结线程的创建 pub
阅读全文
摘要:线程池 背景:经常创建和销毁、使用量特别大的资源,比如并发情况下的线程,对性能影响很大。 思路:提前创建好多个线程,放入线程池中,使用时直接获取,使用完放回池中。可以避免频繁创建销毁、实现重复利用。类似生活中的公共交通工具。 好处: 提高响应速度(减少了创建新线程的时间) 降低资源消耗(重复利用线程
阅读全文
摘要:信号灯法 //测试生产者消费者问题2:信号灯法,标志位解决 public class TestPc2 { public static void main(String[] args) { TV tv = new TV(); new Player(tv).start(); new Watcher(tv
阅读全文
摘要:管程法 //测试:生产者消费者模型——>利用缓冲区解决:管程法 //生产者,消费者,产品,缓冲区 public class TestPC { public static void main(String[] args) { SynContainer container = new SynContai
阅读全文
摘要:线程协作/线程通信问题-分析及解决方式 生产者消费者模式(问题) 应用场景:生产者和消费者问题 假设仓库中只能存放一件产品,生产者将生产出来的产品放入仓库,消费者将仓库中产品取走消费。 如果仓库中没有产品,则生产者将产品放入仓库,否则停止生产并等待,直到仓库中的产品被消费者取走为止。 如果仓库中放有
阅读全文
摘要:Lock锁和与synchronized对比 从JDK5.0开始,Java提供了更强大的线程同步机制——通过显式定义同步锁对象来实现同步。同步锁使用Lock对象充当 java.util.concurrent.locks.Lock接口是控制多个线程对共享资源进行访问的工具。锁提供了对共享资源的独占访问,
阅读全文
摘要:死锁 多个线程各自占有一些共享资源,并且互相等待其他线程占有的资源才能运行,而导致两个或者多个线程都在等待对方释放资源,都停止执行的情形,某一个同步块同时拥有"两个以上的锁"时,就可能会发生"死锁"的问题。 产生死锁的四个必要条件: 互斥条件:一个资源每次只能被一个进程使用。 请求与保持条件:一个进
阅读全文
摘要:CopyOnWriteArrayList import java.util.concurrent.CopyOnWriteArrayList; //测试JUC安全类型的集合 public class TestJUC { public static void main(String[] args) {
阅读全文
摘要:线程同步方法及同步块 同步方法 由于我们可以通过private关键字来保证数据对象只能被方法访问,所以我们只需要针对方法提出一套机制,这套机制就是synchronized关键字,它包括两种用法: synchronized方法和synchronized块. 同步方法:public synchroniz
阅读全文
摘要:线程同步机制(重点) 多个线程操作同一个资源 并发 并发:同一个对象被多个线程同时操作 线程同步 现实生活中,我们会遇到"同一个资源,多个人都想使用"的问题,比如,食堂排队打饭,每个人都想吃饭,最天然的解决办法就是,排队,一个个来。 处理多线程问题时,多个线程访问同一个对象,并且某些线程还想修改这个
阅读全文
摘要:线程三大不安全案例 买票 //不安全的买票 //线程不安全,有负数 public class UnsafeBuyTicket { public static void main(String[] args) { BuyTicket station = new BuyTicket(); new Thr
阅读全文
摘要:守护(daemon)线程 线程分为用户线程和守护线程 虚拟机必须确保用户线程执行完毕 虚拟机不用等待守护线程执行完毕 如,后台记录操作日志,监控内存,垃圾回收等待.. //测试守护线程 //上帝守护你 public class TestDaemon { public static void main
阅读全文
摘要:线程优先级 Java提供一个线程调度器来监控程序中启动后进入就绪状态的所有线程,线程调度器按照优先级决定应该调度哪个线程来执行。 线程的优先级用数字表示,范围从1~10. Thread.MIN_PRIORITY = 1; Thread.MAX_PRIORITY = 10; Thread.NORM_P
阅读全文
摘要:观测线程状态 Thread.State 线程状态。线程可以处于以下状态之一: new 尚未启动的线程处于此状态。 RUNNABLE 在JAVA虚拟机中执行的线程处于此状态 BLOCKED 被阻塞等待监视器锁定的线程处于此状态 WAITING 正在等待另一个线程执行特定动作的线程处于此状态 TIMED
阅读全文
摘要:线程强制执行_join Join合并线程,待此线程执行完成后,再执行其他线程,其他线程阻塞 可以想象成插队 //测试join方法//想象为插队 public class TestJoin implements Runnable{ @Override public void run() { for (
阅读全文
摘要:线程礼让(yield) 礼让线程,让当前正在执行的线程暂停,但不阻塞 将线程从运行状态转为就绪状态 让cpu重新调度,礼让不一定成功!看CPU心情 //测试礼让线程 //礼让不一定成功,看CPU心情 public class TestYield { public static void main(S
阅读全文
摘要:线程休眠 sleep(时间)指定当前线程阻塞的毫秒数 sleep存在异常InterruptedException sleep时间达到后线程进入就绪状态 sleep可以模拟网络延时,倒计时等。 每一个对象都有一个锁,sleep不会释放锁; 代码实现 import java.text.SimpleDat
阅读全文
摘要:线程五大状态与线程停止 线程状态 线程方法 停止线程 不推荐使用JDK提供的stop()、destroy()方法。【已废弃】 推荐线程自己停止下来 建议使用一个标志位进行终止变量,当flag=false,则终止线程运行。 代码如下 //测试stop //1.建议线程正常停止 >利用次数,不建议死循环
阅读全文
摘要:Lamda表达式 λ希腊字母表中排序第十一位的字母,英文名称为Lambda 避免匿名内部类定义过多 其实质属于函数式编程的概念 new Thread (()->System.out.println("多线程学习。。。")).start(); 为什么要使用lambda表达式 避免匿名内部类定义过多 可
阅读全文
摘要:静态代理模式 演示:实现静态代理对比Thread package com.lu.staticproxy; //静态代理模式总结: //真实对象和代理对象都要实现同一个接口 //代理对象要代理真实角色 //好处 //代理对象可以做很多真实对象做不了的事情 //真实对象专注做自己的事情 public c
阅读全文
摘要:实现Callable接口(了解即可) 实现Callable接口,需要返回值类型 重写call方法,需要抛出异常 创建目标对象 创建执行服务:ExecutorService ser = Executors.newFixedThreadPool(1); 提交执行:Future result1 = ser
阅读全文
摘要:多线程模拟龟兔赛跑 //胜利者 private static String winner; @Override public void run() { for (int i = 0; i <= 100; i++) { //模拟兔子休息 if (Thread.currentThread().getNa
阅读全文
摘要:多线程操作同一个对象的例子(引出并发) //多个线程同时操作同一个对象 //买火车票的例子 //发现问题:多个线程操作同一个资源的情况下,线程不安全,数据混乱。 public class TestThread4 implements Runnable{ //票数 private int ticket
阅读全文
摘要:实现Runnable和Thread类的区别 这是创建线程的第二种方法 学习提示:查看JDK帮助文档 定义MyRunnable类实现Runnable接口 实现run()方法,编写线程执行体 创建线程对象,调用start()方法启动线程 推荐使用Runnable对象,因为Java单继承的局限性 //创建
阅读全文
摘要:多线程例子:网图下载 import org.apache.commons.io.FileUtils; import java.io.File; import java.io.IOException; import java.net.URL; //练习Thread,实现多线程同步下载图片 public
阅读全文
摘要:线程创建 Thread、Runnable、Callable Thead class : 继承Thread类(重点) Runnable接口 : 实现Runnable接口(重点) Callable接口 : 实现Callable接口(了解) Thread(学习提示:查看JDK帮助文档) 自定义线程类继承T
阅读全文
摘要:线程简介 任务,进程,线程,多线程 程序.进程.线程 在操作系统中运行的程序就是进程,比如你的QQ,播放器,游戏,IDE等等。。。 一个进程可以由多个线程,如视频中同时听声音,看图像,看弹幕,等等。 Process与Thread 说起进程,就不得不说下程序。程序是指令和数据的有序集合,其本身没有任何
阅读全文
摘要:自定义异常及经验小结 使用Java内置的异常类可以描述在编程时出现的大部分异常情况。除此之外,用户还可以自定义异常。用户自定义异常类,只需继承Exception类即可。 在程序中使用自定义异常类,大体可分为以下几个步骤: 创建自定义异常类。 在方法中通过throw关键字抛出异常对象。 如果在当前抛出
阅读全文
摘要:捕获和抛出异常 抛出异常 捕获异常 异常处理五个关键字 try、catch、finally、throw、throws(在方法中使用) 代码如下 public class Test { public static void main(String[] args) { try { new Test().
阅读全文
摘要:异常机制(Exception)和Error 什么是异常 实际工作中,遇到的情况不可能是非常完美的。比如:你写的某个模块,用户输入不一定符合你的要求、你的程序要打开某个文件,这个文件可能不存在或者文件格式不对,你要读取数据库的数据,数据可能是空的等;我们的程序再跑着,内存或硬盘可能满了,等等。 软件程
阅读全文
摘要:内部类(奇葩的代码) 内部类就是一个类的内部再定义一个类,比如,A类中定义一个B类,那么B类相对于A类来说就称为内部类,而A类相对B类来说就是外部类了。 成员内部类 静态内部类 局部内部类 匿名内部类 代码示例 public class Outer { private int id = 10; pu
阅读全文
摘要:接口 普通类:只有具体实现 抽象类:具体实现和规范(抽象方法)都有! 接口:只有规范!自己无法写方法专业的约束!约束和实现可以分离:面向接口编程 接口就是规范,定义的是一组规则,体现了现实世界中"如果你是...则必须能..."的思想。如果你是天使,则必须能飞。如果你是汽车,则必须能跑。如果你是好人,
阅读全文
摘要:抽象类 abstract修饰符可以用来修饰方法也可以修饰类,如果修饰方法,那么该方法就是抽象方法;如果修饰类,那么该类就是抽象类 抽象类中可以没有抽象方法,但是有抽象方法的类一定要声明为抽象类 抽象类,不能使用new关键字来创建对象,它是用来让子类继承的 抽象方法,只有方法的声明,没有方法的实现,它
阅读全文
摘要:Static详解 //static : 和类一起加载的 public class Student { private static int age; //静态的变量 多线程! private double score; //非静态的变量 public void run(){//非静态方法可以调用所以
阅读全文
摘要:instanceof和类型转换 instanceof,判断一个对象是什么类型,是否存在父子关系 代码实现: public class Application { public static void main(String[] args) { //Object > String //Object >
阅读全文
摘要:多态 动态编译:类型:可扩展性 即同一方法可以根据发送对象的不同而采用多种不同的行为方式。 一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多(父类,有关系的类) 多态存在的条件 有继承关系 子类重写父类方法 父类引用指向子类对象 注意:多态是方法的多态,属性没有多态性 instanceo
阅读全文
摘要:java方法重写 重写:需要有继承关系,子类重写父类的方法! 1、方法名必须相同 2、参数列表必须相同 3、修饰符:范围可以扩大但不能缩小: public>Protected>Default>private 4、抛出的异常:范围,可以被缩小,但不能扩大:ClassNotFoundExcetion -
阅读全文
摘要:this.方法名称 用来访问本类的成员方法 this(); 访问本类的构造方法 ()中可以有参数的 如果有参数 就是调用指定的有参构造 注意事项: 1.this() 不能使用在普通方法中 只能写在构造方法中 2.必须是构造方法中的第一条语句 ———————————————— 版权声明:本文为CSDN
阅读全文
摘要:Super详解 super - this super注意点: 1.super调用父类的构造方法,必须在构造方法的第一个 2.super必须只能出现在子类的方法或者构造方法中 3.super和this不能同时调用构造方法 Vs this: 代表的对象不同: this: 本身调用者这个对象 super:
阅读全文
摘要:继承 继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模 extends的意思是"扩展"。子类是父类的扩展。 JAVA中类只有单继承,没有多继承!(一个儿子只能有一个爸爸) 代码如下 父类 //Person 人 :父类 public class Person /*extends Object
阅读全文
摘要:封装 该露的露,该藏的藏 我们程序设计要追求"高内聚,低耦合"。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用 封装(数据的隐藏) 通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏。 记住这句话就够了:属性私有,get/
阅读全文
摘要:类与对象的小结 //一个项目应该只存在一个main方法 public class Application { public static void main(String[] args) { /* 1. 类与对象 类是一个模板:抽象,对象是一个具体的实例 2. 方法 定义,调用! 3. 对象的引用
阅读全文
摘要:创建对象内存分析 代码实现: 1、 public class Application { public static void main(String[] args) { Pet dog = new Pet(); dog.name = "旺财"; dog.age = 3; dog.shout();
阅读全文
摘要:类与对象 类与对象的关系 类是一种抽象的数据类型,它是对某一类事物整体描述/定义,但是并不能代表某一个具体的事物 动物、植物、手机、电脑.... Person类、Pet类、Car类等,这些类都是用来描述/定义某一类具体的事物应该具备的特点和行为 对象是抽象概念的具体实例 张三就是一个人的具体实例,张
阅读全文
摘要:例如:Test是一个类,那么 Test t = new Test();这个语句叫做类的实例化,即t是Test类的一个实例,这个t就是一个Test类型的对象,在这个实例化过程中,也就是new Test();系统会自动调用Test类中的构造方法,如果你在定义Test类的时候写了无参构造方法Test(),
阅读全文
摘要:回顾方法及加深 方法的定义 修饰符 返回类型 //Demo01 类 public class Demo01 { //main 方法 public static void main(String[] args) { } /* 修饰符 返回值类型 方法名(...){ //方法名 return 返回值;
阅读全文
摘要:面向过程&面向对象 面向过程思想 步骤清晰简单,第一步做什么,第二步做什么..... 面对过程适合处理一些较为简单的问题 面向对象思想 物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类下的细节进行面向过程的思索。 面向对象适合处理复杂的问题
阅读全文
摘要:稀疏数组 在矩阵中,若数值为0的元素数目远远多于非0元素的数目,并且非0元素分布没有规律时,则称该矩阵为稀疏矩阵;与之相反,若非0元素数目占大多数时,则称该矩阵为稠密矩阵。 最常用的稀疏矩阵存储格式为列压缩存储(compressedcolumn storage,CCS) 或行压缩存储( ompres
阅读全文
摘要:冒泡排序与八大排序 冒泡排序无疑是最为出名的排序算法之一,总共有八大排序!(这里先不提八大排序) 冒泡的代码还是相当简单的,两层循环,外层冒泡轮数,里层依次比较,江湖中人人尽皆知。 我们看到嵌套循环,应该立马就可以得出这个算法的时间复杂度为O(n^2) 思考:如何优化 代码如下 //冒泡排序 //1
阅读全文
摘要:Arrays类 数组的工具类java.util.Arrays 查看JDK帮助文档 Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,而"不用"使用对象来调用(注意:是”不用“而不是不能) 具有以下常用功能: 给数组赋值:通过fill方法 对数组排序:通过so
阅读全文
摘要:二维数组 public class ArrayDemo05 { public static void main(String[] args) { int[][] array = {{1,2},{1,3}}; System.out.println(array[0][1]); System.out.pr
阅读全文
摘要:数组的使用 普通的for循环 For-Each循环 数组作方法入参 数组作返回值 public class ArrayDemo03 { public static void main(String[] args) { int[] arrays = {1,2,3,4,5}; //打印全部的数组元素 f
阅读全文
摘要:Java的三种初始化和内存分析 声明数组放在栈里。 创建数组放在堆里。 java的内存分析 堆 存放new的对象和数组 可以被所有的线程共享,不会存放别的对象引用 栈 存放基本变量类型(会包含这个基本类型的具体数值) 引用对象的变量(会存放这个引用在堆里面的具体地址) 方法区 可以被所有的线程共享
阅读全文
摘要:数组 package com.lu.array; public class ArrayDemo01 { //变量的类型 变量的名字 = 变量的值; //数组类型 public static void main(String[] args) { int[] nums; //1.定义 首选 声明一个数组
阅读全文
摘要:Markdown学习 标题 三级标题 四级标题 字体 Hello,World ! Hello,World ! Hello,World ! Hello,World ! 引用 选择狂神说java,走向人生巅峰 分割线 图片 超链接 点金跳转到狂神博客 列表 A C A B C 表格 名字 性别 生日 张
阅读全文
摘要:递归 A方法调用B方法,我们很容易理解! 递归就是:A方法调用A方法!就是自己调用自己 利用递归可以用简单的程序来解决一些复杂的问题。它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递
阅读全文
摘要:方法 何谓方法? System.out.println() 类+对象+方法 设计方法的原则 方法的本意时功能块,就是实现某个功能的语句块的集合。我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成1个功能,这样利于我们后期的扩展。 方法是解决一类问题的步骤的有序组合 方法包含于类或对象中 方
阅读全文
摘要:用for循环打印三角形 思路:把三角形拆分为一个空白倒三角形,两个直角三角形 代码如下 package com.lu.struct; public class TestDemo01 { public static void main(String[] args) { //打印三角形 5行 for (
阅读全文
摘要:Break与continue //break退出整个循环 //continue跳过本次尚未执行的操作 public class BreakDemo { public static void main(String[] args) { int i = 0; while (i<100){ i++; Sy
阅读全文
摘要:增强for循环 Java5引入了一种主要用于数组或集合的增强型for循环 Java增强for循环语法格式如下: for(声明语句 : 表达式) { //代码句子 } 声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等 表达式:表
阅读全文
摘要:九九乘法表 //打印99乘法表 public class ForDemo04 { public static void main(String[] args) { //1.我们先打印第一列 //2.我们把固定的1再用一个循环包起来 //3.去掉重复项。 i <= j for (int j = 1;
阅读全文
摘要:For循环 public class ForDemo01 { public static void main(String[] args) { int a = 1; //初始化条件 while (a<=100){ System.out.println(a); //循环体 a+=2; //迭代 } S
阅读全文
摘要:While与do...While public class WhileDemo01 { public static void main(String[] args) { //输出1-100 int i = 0; while (i<100){ i++; System.out.println(i); }
阅读全文
摘要:IF..else与switch语句记录 import java.util.Scanner; public class IfDemo03 { public static void main(String[] args) { //考试分数大于60就是及格,小于60分就不及格 Scanner scanne
阅读全文
摘要:Scanner的进阶使用 scanner.nextInt()与scanner.nextDouble import java.util.Scanner; public class Demo04 { public static void main(String[] args) { Scanner sca
阅读全文
摘要:Scanner对象 Java给我们提供了这样一个工具类,我们可以获取用户的输入。java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入 基本语法 Scanner s = new Scanner(System.in); 通过Scanner类的next()与
阅读全文
摘要:JavaDoc javadoc命令是用来生成自己API文档的 参数信息 @author 作者名 @version 版本名 @since 指明需要最早使用的jkd版本 @param 参数名 @return 返回值情况 @throws 异常抛出情况 package com.lu.base; /** *
阅读全文
摘要:包机制 为了更好地组织类,java提供了包机制,用于区别类名的命名空间 包语句的语法格式: package pkg[.pkg2[.pkg3..]]; 一般利用公司域名倒置作为包名; 为了能够使用某一个包的成员,我们需要再JAVA程序中明确导入该包。使用“import”语句可完成此功能 import
阅读全文
摘要:运算符要点 字符串连接符要点 public class Demo07 { public static void main(String[] args) { int a = 10; int b = 20; a+=b; // a = a+b; // a = a-b; System.out.println
阅读全文
摘要:变量 变量:就是可以变化的量 Java是一种强类型语言,每个变量都必须声明其类型 Java变量是程序中最基本的存储单位,其要素包括变量名,变量类型和作用域 type varName [=value][{,varName[=value]}]; //不建议一行里面定义多个值,分开写 //数据类型 变量名
阅读全文
摘要:安装 git 配置 git 安装 nodejs 安装 hexo 创建项目 初始化:hexo init 安装包:npm install,如果慢的话,用淘宝镜像 安装cnpm:npm install -g cnpm --registry=https://registry.npm.taobao.org,然
阅读全文
摘要:类型转换 由于Java时强类型语言,所有要进行有些运算的时候,需要用到类型转换。 低 > 高 byte,short,char-> int -> long -> float -> double int i =128; byte b = (byte) i;//内存溢出 //强制转换 (类型)变量名
阅读全文
摘要:数据类型拓展 整数拓展 //整数拓展 进制 二进制0b 十进制 八进制0 十六进制0x int i = 10; int i2 = 010; //八进制0 int i3 = 0x10; //十六进制0x 0~9 A~F 16 输出结果为 i = 10; i2 = 8; i3 = 16; 浮点数拓展 /
阅读全文
摘要:数据类型 强类型语言 要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用 弱类型语言 java的数据类型分为两大类 基本类型(primitive type) 引用类型(reference type) ps:什么是字节 1B(字节)=8bit(位) 1024B=1KB 1024KB=1M 1
阅读全文
摘要:JAVA标识符 关键字 JAVA所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符 标识符注意点 所有的标识符都应该以字母(A-Z或者a-z)、美元符($)、或者下划线(_)开始 首字母之后可以是字母(A-Z或者a-z)、美元符($)、下划线(_)或数字的任何字符组合 不能使用关键字作为
阅读全文
摘要:HelloWorld 随便新建一个文件夹,存放代码 新建一个java文件 文件后缀名为.java Hello.java 【注意点】系统可能没有显示文件后缀名,我们需要手动打开 编写代码 public class Hello{ public static void main(String[] args
阅读全文
摘要:JAVA版本及JDK的卸载与安装 java三大版本 JavaSE:标准版(桌面程序,控制台开发.....)最核心,最基础 JavaME:嵌入式开发(手机,小家电......)。。几乎没人学 JavaEE:E企业级开发(web端,服务器开发...)最广泛 卸载JDK 删除java的安装目录 删除JAV
阅读全文
摘要:打开CMD的方式 1.开始+系统+命令提示符 2.Win键+R 输入cmd 打开控制台(推荐) 3.在任意的文件夹下面,按住shift键+鼠标右键点击,在此处打开命令行窗口 4.资源管理器的地址栏前面加上cmd路径 管理员方式运行:选择以管理员方式运行 常用的Dos命令 #盘符切换 #查看当前目录下
阅读全文

浙公网安备 33010602011771号