【Java自学】教程文章相关的互联网学习教程文章

Java自学第二十一天

今天对文件的流的部分内容进行学习。流的作用非常大,文件的读写,网络的收发和进程通信,几乎所有需要输入输出的地方都要用到流。在Java中,每个流都是一个对象,通常分为两种,输入流和输出流,对于输入流,只需从流中不断取出字节即可,对于输出流,只要将准备好的字节串传递给它即可。java.io包中的stream类根据操作对象的类型可分为字符流和字节流。 Java字节流:InputStream是所有字节输入流的父类,OutStream是所有字节输...

7.7 Java自学

1.工作:(1)解决了昨天的问题,可能是因为win10和版本不同的原因,需要在完成手册上的操作后,还需要在classpath 的变量值中加上%JAVA_HOME%\lib\tools.jar;(2)完成HelloWorld的基础程序编程。(3)完成了开发软件安装调试。 2.问题:新软件操作不熟练。 3.明天工作:进一步学习第二章内容,完成相关程序的编程。

JAVA自学笔记(9)——网络通信、函数式接口【图】

TCP通信 1.0 客户端的实现 import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket;public class TCPSocket {public static void main(String[] args) throws IOException {Socket socket=new Socket("127.0.0.1",8888);OutputStream stream = socket.getOutputStream();stream.write("你好服务器".getBytes());InputStream inputStream = socket.getInputStream();byte [...

JAVA自学笔记(3)【代码】【图】

JAVA的心动之旅 Day1 字符串String 1.0 字符串的特点以及创建一个字符串 public class Practice {//构建字符串的3+1种方法public static void main(String[] args) {//第一种String one=new String();System.out.println("输出的字符串为:"+one);//第二种char str[]={A,B,C};String two=new String(str);System.out.println("输出的字符串为:"+two);//第三种byte []bytes={97,98,99,100};String three=new String(bytes);Syste...

CodeGym—Java自学神器【图】

CodeGym 想学java,学的累,怎么办?神器来了,GodeGym是免费的代码学习网站。这里要感谢抖音账号:程序员鱼皮,通过他的作品我才认识到这个自学神器。我已经在GodeGym中学习了两天了,里面的教程对菜鸟编程很有帮助,零基础教学,你值得拥有。下面是网站链接: GodeGym. 课程内容 CodeGym 课程大致包括如下6个部分,除了SQL & Hibernate 和 JSP & Services 课程还在设计中外,其他课程均可学习。有趣的是,CodeGym 采用渐进式的学...

java 自学整理 9【图】

操作数组: 1:遍历 a.length 是数组的长度 i是数组的下标,从0开始 因为下标从0开始,所以最后一个数组是长度-1,否则就超出索引范围了 之前的循环都是可以遍历的,只要跟据下标去取数据就好了 还可以使用Arrays.toString() 直接打印出数组内容 还可以使用循环把数组进行排序 最有名的就是冒泡排序了 他其实就是通过两个循环,把数据遍历两遍,然后通过if判断,把最大的数放到末尾 是不是感觉两个循环~~~好麻烦的样子~~~ 那这样...

java 自学整理 8【图】

今天搞循环 3大循环一个一个说 1:while循环 while循环在每次循环都会判断条件是否成立。如果计算结果为true,就把循环体内的语句执行一遍,如果计算结果为false,那就直接结束循环。 2:do while循环 do while至少执行一次 如下图,判断条件不成立,但还是执行了一次 3:for 循环,也是我用的最多的~ 哦,还有for each循环 可以直接访问数组每个元素的值 再补上点吧 break和continue 一般配合if使用 break是...

Java自学 day23_多线程10-14 笔记【代码】【图】

10-线程控制之休眠线程 线程休眠: public static void sleep(long millis) 控制当前线程休眠若干毫秒 (1秒= 1000毫秒 1秒 = 1000 * 1000 * 1000纳秒 1000000000) 1 public class day23_10线程控制之休眠线程 {2 /*3 * 线程睡眠4 * public static void sleep(long millis)5 */6 public static void main(String[] args) {7 ThreadSleep ts1=new ThreadSleep();8 ThreadSleep ts2=new ThreadSle...

Java自学 day24_多线程06-09 笔记

06-如何实现多线程及多线程方式1的思路需求:我们要实现多线程的程序。如何实现呢? 由于线程是依赖进程而存在的,所以我们应该先创建一个进程出来。而进程是由系统创建的,所以我们应该去调用系统功能创建一个进程。Java是不能直接调用系统功能的,所以,我们没有办法直接实现多线程程序。但是呢? Java可以去调用C /C+ +写好的程序来实现多线程程序。 然后提供一些类供我们使用。我们就可以实现多线程程序了。 那么Java提供的类是什么...

Java自学-多线程 原子访问【代码】【图】

多线程 原子访问 步骤 1 : 原子性操作概念 所谓的原子性操作即不可中断的操作,比如赋值操作 int i = 5; 原子性操作本身是线程安全的 但是 i++ 这个行为,事实上是有3个原子性操作组成的。 步骤 1. 取 i 的值 步骤 2. i + 1 步骤 3. 把新的值赋予i 这三个步骤,每一步都是一个原子操作,但是合在一起,就不是原子操作。就不是线程安全的。 换句话说,一个线程在步骤1 取i 的值结束后,还没有来得及进行步骤2,另一个线程也可以取 i...

Java自学随笔 - 关于数组概念理解【代码】【图】

Part - 1 1.基本数据类型的变量都储存在栈中,栈的特点是存储空间小,但是存取速度快, 遵循先进后出。 2.引用数据类型所占的空间比较大,存储在堆中,堆的特点是存储空间小,但是存取速度相对于栈较慢。 3.arr是数组类型变量(如果是引用数据类型,则一般叫做引用),new int[8]真正 的数据是储存在堆中,新创建的数据的每一个位置的值都为数组类型的默认值。数组的索引是从0开始。 数组的长度属性通过length来表示。 数组的下标不可...

Java自学随笔 - 关于方法(函数)的相关知识点泛记

概述:方法(函数)是一能够完成独立功能的代码块,我们只需要写一次方法就可以被多次使用,从而提高了代码的复用性。 1.方法如何被调用? 方法名(参数值1,参数值2); 例: /*方法名写的意义明确,即可见名知意 如下面这个方法就能基本知道,这是一个 数字比较的方法,同时传入a,b两个参数 */ NumCompare(a,b); 2.调用一个方法需要注意什么? 当调用某一个方法时,需要查看方法是否有void这样的关键字,如果含有 void,那么我们不需要...

Java自学-多线程 同步synchronized【代码】【图】

Java 多线程同步 synchronized 多线程的同步问题指的是多个线程同时修改一个数据的时候,可能导致的问题 多线程的问题,又叫Concurrency 问题 步骤 1 : 演示同步问题 假设盖伦有10000滴血,并且在基地里,同时又被对方多个英雄攻击 就是有多个线程在减少盖伦的hp 同时又有多个线程在恢复盖伦的hp 假设线程的数量是一样的,并且每次改变的值都是1,那么所有线程结束后,盖伦应该还是10000滴血。 但是。。。 注意: 不是每一次运行都...

Java自学-泛型 泛型转型【代码】【图】

Java 中的子类泛型转型成父类泛型 步骤 1 : 对象转型 根据面向对象学习的知识,子类转父类 是一定可以成功的 package generic;import charactor.ADHero; import charactor.Hero;public class TestGeneric {public static void main(String[] args) {Hero h = new Hero();ADHero ad = new ADHero();//子类转父类h = ad;}} 步骤 2 : 子类泛型转父类泛型 既然 子类对象 转 父类对象是可以成功的,那么子类泛型转父类泛型能成功吗? 如...

Java自学-泛型 集合中的泛型【代码】

什么是 泛型? 示例 1 : 不使用泛型 不使用泛型带来的问题 ADHero(物理攻击英雄) APHero(魔法攻击英雄)都是Hero的子类 ArrayList 默认接受Object类型的对象,所以所有对象都可以放进ArrayList中 所以get(0) 返回的类型是Object 接着,需要进行强制转换才可以得到APHero类型或者ADHero类型。 如果软件开发人员记忆比较好,能记得哪个是哪个,还是可以的。 但是开发人员会犯错误,比如第20行,会记错,把第0个对象转换为ADHero,这...