Java4Android 课程笔记

第一集 1、名词介绍:  4:代表for;

2、java考古学:  主要介绍java发展史;  讨论java的未来发展;  问题:   学习一样东西,不去了解发明他的人,可行吗?

第二集 1、什么是编程  一种和计算机沟通的语言;  一种创造性的工作;  让上帝与你同在;

2、JDK的安装和配置  JDK就是java开发工具的集合;  windows需要设置PATH和CLASSPATH环境变量;   PATH:C:\Program Files\Java\jdk1.7.0_40\bin;   CLASSPATH:.;

3、创世纪(Hello World)  代码:   public class HelloWorld{    public static void main(String[] argv){     System.out.println("Hello World!");    }   }  编译并运行:   javac HelloWorld.java   java HelloWorld

第三集 1、什么是环境变量  指定操作系统运行时参数;  通常是键值对(一个名字等于一个值);  PATH环境变量作用:   提供命令的搜索路径。  CLASSPATH环境变量的作用:   提供要运行的类文件的搜索路径。

2、JDK里面有什么  开发工具、例子、头文件、jre、包文件、帮助文档、一部分java的源文件;

3、什么是JRE  java运行时环境;  含java虚拟机、java平台核心类文件、其他支持文件;

4、什么是JVM  java虚拟机的缩写;  软件虚拟出来的计算机;  java程序运行在JVM上;  只要系统安装了jvm,就可以运行java程序,而不用对java程序进行任何修改;  这也是java的跨平台实现方式;

第四集 重点:java的语法; 1、什么是变量

2、变量的声明  类型 变量;

3、变量分为哪些类型  基本数据类型(原始数据类型):   数值型   整数类型(byte,short,int,long)   浮点类型(float,double)   字符型(char)   布尔型(boolean)  引用数据类型:   类(class)   接口(interface)   数组

4、变量的命名规范  语法规范:   以字母、下划线或者美元符开头;   后面跟字母、下划线、美元符或者是数字;   java变量名没有长度限制;   java变量名对大小写敏感;  驼峰命名:   变量名应该使用有意义的英文单词;   如果变量名只有一个单词,则所有的字母小写;   变量名如果由多个英文单词组成,则从第二个单词开始首字母大写;  如:   public class Test   {    public static void main(String args[])    {    int age = 20;    int myAge = 20;    int $age = 20;    int _age = 20;    int Age = 20; // 不符合驼峰命名法    int 1age = 20; // 变量名错误   }  }

第五集 1、java数据类型分类  第四集 3

2、boolean类型变量的特征  使用逻辑运算,一般用于程序流程控制;  只有两种值:   true和false;   且不能用0和非0,或者空和非空来表示;

3、char类型变量的特征  Unicode字符集   为每种语言的每个字符设定了统一并且唯一的二进制码;   最多允许1114112个字符;

乱码   字符存入时使用A字符集,读取时使用其他字符集就会出现乱码;

由于java使用的Unicode字符集,所以一个char类型变量可以存一个汉字;  如:   char c = '中'; // 写代码时必须以ANSI格式编码;这点与视频讲述的不同;

补充:如果代码保存时采用的utf-8字符集,在win命令行下编译时需指定字符集,因为命令行默认字符集是ANCI:

javac -encoding utf-8 xxx.java

即可将字符变量打印出来;

如果在win下默认保存的是ANCI字符集,则在命令行下直接编译即可正常打印出字符类型的汉字;

char c = 'u';char zh = '呵';

System.out.println(zh+ "" + c); //正常打印//System.out.println(zh + c);//本行打印出来将会一串数字

4、数值型变量的特征  整型常量的三种表示方式:   十进制:如12,-33,0等;   八进制:以0开头,如012等;   十六进制:以0x或0X开头,如0X12,0x12等;

整型常量默认为int型,如 int i = 3;  声明long型常量可以后后加'l'或者'L',如 long l = 3L;

第六集 练习 基本数据类型的赋值与运算 1、打印布尔类型值

2、打印char型变量

3、创建各种类型的变量,然后做运算;  字面量:  float类型赋值:   float f = 0.1f; // 若写0.1会出错,提示损失精度;   小数默认为double型,使用float则需加f或F;  如:   float a = 0.5 * 10;  编译出错;赋值号右边默认是double型;  正确的是:   float a = 0.5f * 10;   int b1 = 0;   long b2 = 0;   b1 = b2; // 编译出错,可能损失精度;  范围大的类型变量不能赋值给范围小的变量;  可以通过强制转换通过编译,但是可能会引起溢出导致结果不正确;  byte和short例外,可以用整型直接赋值,但是编译器会对具体值进行判断;   byte < short < int < long < float < double

第七集 1、运算符的分类  算术运算符:+,-,*,/,%,++,--;  关系运算符:>,=,<=,==,!=;  布尔逻辑运算符:!,&,|,&&,||;  位运算符:&,|,^,~,>>,<>>;  赋值运算符:=  扩展赋值运算符:+=,-=,*=,/=;  字符串连接运算符:+

2、各种运算符的使用方法  07Test

& 逻辑与:int i = 5; boolean j = i > 6 & i++ > 7; 判断 i > 6 为false,i++ > 7 为flase,i值加1;  && 短路与:int i = 5; boolean j = i > 6 && i++ > 7; 判断 i > 6 为false,i++ > 7 就不再判断,i值还为5;  08Test

| 逻辑或:  || 短路或:

3、什么是表达式

第八集 …… 第十六集

第十七集 1、静态成员变量的语法特点  可以直接使用类名调用;  所有对象使用的静态变量是同一份;

2、静态成员函数的语法特点  可以直接使用类名调用;  不能直接使用非静态成员变量;  因为静态成员函数可以直接由类名调用,这种情况下是没有对象的;  所以无法调用对象的成员变量,此时就只能调用静态成员变量;  静态成员函数中不能使用this;

3、静态代码块的语法特点  static{……}  没有名字,在装载类时自动执行;  主要作用就是为静态成员变量赋初始值;

第十八集 继承 1、什么是继承  java只支持单继承,不允许多继承;  关键字:extends  子类继承父类的成员变量和成员函数;

2、为什么要使用继承  方便性,共同代码需要修改时只需对父类的成员进行修改,所有子类的成员也随之被修改;  即:   减少重复代码;

3、继承的基本语法特点  clsaa 子类名 extends 父类名 { }

第十九集 子类的实例化过程 1、生成子类的过程  先调用父类的构造函数,再调用子类的构造函数;

2、使用super调用父类的构造函数方法;  在子类的构造函数中,一定会调用父类的构造函数;  开发人员不调用的话,编译器会自动在子类的构造函数中的第一行加一句:   super();  来调用父类的构造函数;  编译器自动加的该语句只是调用父类的无参构造函数;  这个语句必须是子类构造函数的第一个语句;  子类调用父类的构造函数,根据参数的个数,类型来决定调用父类的哪个构造函数;

第二十集 函数的复写 1、函数的复写  子类的函数与父类的函数无论函数名、返回值类型、参数列表等信息都一致的话,就是子类对父类函数的复写;

2、使用super调用父类的成员函数;  使用super.xxx();调用父类的成员函数;  复写过程中子类中复写的函数调用super.xxx();就是不覆盖父类的函数,而是在父类的方法基础上加语句;  复写过程中不调用super.xxx();则是覆盖父类的函数;  复写过程中子类的对象调用的是子类的函数;  父类的对象调用的是父类的成员函数;  在子类中复写父类的成员函数;

第二十一集 对象的转型 对多态的体现 1、对象的向上转型  将子类的对象赋值给父类的引用;  如:   子类:Student;父类:Person;   Student s = new Student();   Person p = s;  一个引用能够调用哪些成员变量,取决于这个引用的类型;  子类中新定义的成员变量,父类的引用是无法使用的;  引用调用的是哪一个方法,取决于引用指向的对象;  指向的对象若对父类该方法进行了复写,则调用子类中复写过的方法;若没有复写,则调用父类中的方法;  引用不能调用子类中的非复写方法;

2、对象的向下转型  子类:Student;父类:Person;  Student s1 = new Student();  Person p = s1;  Student s2 = (Studnt)p;  向下转型的过程是先向上转型,再向下转型;  直接生成一个父类对象,无法直接转成子类对象,编译不会出错,但是运行会出现类型转换的异常;

第二十二集 面向对象应用(一) 1、如何使用面向对象的特征,满足客户提出的需求变化;  面对重复代码使用继承来解决,方法差异使用复写解决;

第二十三集 抽象类和抽象函数 1、抽象函数的语法特征  只有函数的定义,而没有函数体的函数称为抽象函数;  abstract void fun(); // 只有定义(C语言的声明),没有函数体(C语言的定义);  类中若有抽象函数,则该类必须设置为抽象类;  类中没有抽象函数,也可以被声明为抽象类;  非抽象的子类不能使用抽象类生成对象,不可以调用抽象类的任何成员;  抽象类的子类可以调用父类的静态成员;  可以设置一个类为无抽象函数抽象类的子类,其他类利用该类间接调用抽象类的所有成员;  抽象类不能生成对象,因为抽象类的抽象函数没有函数体;  所以抽象类天生是当爹的,只能被继承;  继承抽象类的类也必须被声明为抽象类,或者复写父类(抽象类)的抽象函数;  抽象类可以拥有构造函数,不过是为子类提供的;  不可以直接通过 new 抽象类 来调用抽象类的构造函数,但是可以通过子类构造函数的super()来调用;  如Person是一个抽象类,Chinese是Person的子类,创建对象时这样调用:Person p = new Chinese();  在创建Chinese类的对象时就可以间接的调用Person类的构造函数和复写Person类的抽象函数;

2、抽象类的语法特征

3、抽象类的作用

java4android 听课笔记_Java4Android 课程笔记相关推荐

  1. python课程笔记_Python课程笔记(一)

    由于新冠状病毒的爆发,不得不在家里上网课,开课已经两个礼拜了,今天上完Python课后,准备整理一下最近学习Python的笔记. 人生苦短,我用Python 一.Hello World 初学一门新的语 ...

  2. Java语言学习笔记——20121221课程笔记

    一.计算机的基础知识 1.什么是计算机 能够处理海量数据,并且能高速运行程序的一套电子设备 应用场景:云计算(一码通)/多媒体应用看电影/科学计算/计算机辅助设计(CAD工程制图)/数据的处理 组成: ...

  3. 【NLP】CS224N课程笔记|词向量I: 简介, SVD和Word2Vec

    NewBeeNLP原创出品 公众号专栏作者@Ryan 知乎 | 机器学习课程笔记 CS224N课程笔记系列,持续更新中 课程主页:  http://web.stanford.edu/class/cs2 ...

  4. 【原】机器学习公开课 目录(课程笔记、测验习题答案、编程作业源码)...持续更新......

    之前看过的机器学习课程.本文是相关课程笔记.习题答案.作业源码的电梯. 1 Coursera 斯坦福机器学习课程,Andrew Ng 1.1 说明 课程地址和软件下载 Coursera连接不上(视频无 ...

  5. 李宏毅老师《机器学习》课程笔记-3卷积神经网络

    注:本文是我学习李宏毅老师<机器学习>课程 2021/2022 的笔记(课程网站 ),文中图片除了一幅我自己绘制的图和一幅来自 Stanford cs231n 教程的图,其余图片均来自课程 ...

  6. 李宏毅老师《机器学习》课程笔记-2.1模型训练技巧

    注:本文是我学习李宏毅老师<机器学习>课程 2021/2022 的笔记(课程网站 ),文中图片除了两幅是我自己绘制外,其余图片均来自课程 PPT.欢迎交流和多多指教,谢谢! 文章目录 Le ...

  7. 斯坦福大学李飞飞团队图像分类课程笔记

    斯坦福大学李飞飞团队图像分类课程笔记 Stanford image classification course notes 这是斯坦福CS231n课程图像分类基础知识. 目标:这一节先介绍图像分类基本 ...

  8. Udacity机器人软件工程师课程笔记(五)-样本搜索和找回-基于漫游者号模拟器-自主驾驶

    9.自主驾驶 在接下来的环节中,我们要实现漫游者号的自动驾驶功能. 完成这个功能我们需要四个程序,第一个为感知程序,其对摄像头输入的图片进行变换处理和坐标变换使用.第二个程序为决策程序,功能是帮助漫游 ...

  9. 这份深度学习课程笔记获吴恩达点赞

    来源:机器之心 本文共7470字,建议阅读8分钟. 通过本文用优美的信息图为大家解读深度学习课程的知识与亮点~ 吴恩达在推特上展示了一份由 TessFerrandez 完成的深度学习专项课程信息图,这 ...

  10. Yann Lecun纽约大学《深度学习》2020课程笔记中文版,干货满满!

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! [导读]Yann Lecun在纽约大学开设的2020春季<深度学习>课 ...

最新文章

  1. Python学习——反射
  2. Matlab循环读取txt文件并对其中数据进行计算最后导出为excel
  3. python中国内源_【文】Python更换国内镜像源
  4. WinLogon事件通知包编程
  5. golang 数据一   (字符串、数组和数组指针)
  6. 2级c语言程序设计无忧考试,无忧考吧二级c模拟考试系统
  7. zabbix重点笔记
  8. bilibili弹幕下载方法
  9. 鲸云效解读A/B测试,get这一篇就够了
  10. 一行代码学会Java--2.用IDEA神器编写“你好,Java”
  11. 后台任务列表 App 界面模糊处理
  12. python爬取英雄联盟所有皮肤价格表_python 爬取英雄联盟皮肤并下载的示例
  13. 【Python turtle 画爱心】实战学习
  14. [三星移动硬盘] 磁盘必须经过格式化(无法显示)
  15. FC下常用软件的安装配置
  16. PMP 项目管理 考前专题(02)敏捷开发专题总结
  17. 如何在 html 中插入天气插件
  18. 微信新增彩蛋表情,遭网友疯狂吐槽
  19. mysql身份证号校验函数
  20. Qt可拖拽排序表格(解决滚动条不兼容问题,类似QQ好友分组排序)

热门文章

  1. 腾讯云数据库CDB介绍及数据库与应用数据库分析
  2. 计算机打印机图标删除吗,打印机图标不见了怎么办 打印机图标消失的解决方法...
  3. java云笔记_java版云笔记(一)
  4. 矩阵标准型的系数是特征值吗_高等代数|第五章 二次型二次型及其标准型
  5. 有人在研究arroundme 吗,一个开源的php社会化网络程序
  6. 用python发邮件为什么接收不了_如何使用python发送邮件和接收邮件?
  7. git如何拉去开发的 最新代码_git拉取代码到本地
  8. 更新git 分支代码到最新
  9. NMT:神经网络机器翻译
  10. H5多媒体视频播放器的使用及常用属性