关注我,每天都有优质技术文章推送,工作,学习累了的时候放松一下自己。

欢迎大家关注我的微信公众号:「醉翁猫咪」

字面量:
1.整数字面量为整型(int)
2.小数字面量为双精度浮点型(double)
0.5*10结果为双精度浮点型
byte short int long float double  

public class TestSwitch{
public static void main(String args []){
char c = 'a';
switch(c){
case 'b':
System.out.println('b');
break;
case 'c':
System.out.println('c');
break;
case 'a':
System.out.println('a');
break;
default:
System.out.println('d');
}
}
}
switch( char byte short int )只允许四种类型

public class Test01{
public static void main(String args []){
int score = 90;
if(score > 85 && score <= 100){
System.out.println("成绩为优");
}
else if(score > 75 $$ score <= 85){
System.out.println("成绩为良");
}
else if(score > 60 $$ score <= 75){
System.out.println("成绩为中");
}
else if(score <= 60 && score >= 0){
System.out.println("成绩为差");
}
else if(score > 100 || score < 0){
System.out.println("成绩不在正常的范围之内");
}
}
}

for(int i = 0; i < 10; i++){
 System.out.println(i);
}
 
public class TestWhile{
public static void main(String args []){
int i = 0;
while(i < 10){
System.out.println(i);
i++;
}
}
}
打印出100-200之间的所有素数
一个数字只有一和它自己被整除
定义一个类,名为TestPrimeNumber
在类当中定义主函数
用for循环打印出所有在100-200之间的数字
在for循环当中,每当循环执行一次,就判断循环变量是否为素数,如果是,就将循环变量的当前值打印出来;
判断n是否为素数,首先用2除n,如果除不尽,再用3除n,依次类推,如果从2到n-1都无法整除n,那么n就是素数。
   
class TestPfrimeNumber{
public static void main(String args []){
for(int i = 100; i < 201; i++){
boolean b = false; for(int j = 2 ; j < i - 1; j++){ int k = i % j;
if(k == 0){
b = true;
}
}
//如果不是true就打印出素数
if(!b){
System.out.println(i);
}
}
}
}

打印图形
public class Test{
public static void main(String args[]){
int i = 5;
int j = i++ + 5;
System.out.println(j);
System.out.println(i);
}
}


j=10;
i=6;


int j = ++i + 5;
System.out.println(j);
j=11;
i=6;


& 逻辑与
&& 短路与

class TestTriangle{

public static void main(String args []){
for(int i=1; i<5; i++){
for(int j=0; j<4-i; j++){
System.out.print(" ");
}
for(int k=0; k<i; k++){
System.out.print("* ");
}
System.out.println("");
}
}
}
什么是面向对象?
面向对象是一种编程方法
面向对象是一种思维方式
面向对象不是一种编程语言

应该如何学习面向对象?
掌握一门面向对象语言的语法
掌握面向对象的思维方式
熟悉面向对象设计原则
掌握面向对象设计模式 
什么是面向对象思维方法?
1.首先确定谁来做,其次确定怎么做
2.首先考虑整体,其次考虑局部
3.首先考虑抽象,其次考虑具体

不要认为掌握了一门面向对象语言就是掌握了面向对象

习惯了将面向对象与现实世界做比较

14
创建类的方法
创建对象的方法
对象和对象的引用
定义类的方法
class类名
{
属性;
方法;
}

属性也叫成员变量,主要用于描述类的状态
方法也叫成员方法,主要用于描述类的行为

age是类的属性,也叫类成员变量
shout是方法也叫类的成员函数
shout方法可以直接访问用一个类中的age变量,如果一个方法中有与成员变量同名的局部变量,该方法中对这个变量名的访问是局部变量,而不再是成员变量

生成对象的方法
格式:类名 对象名=new类名()
例如:Dog dog = new Dog();
创建一个Dog的引用
创建一个Dog的对象
类和对象的关系
类是抽象,而对象是具体的。

变量的类型 变量的值
Java的数据类型 基本数据类型和引用数据类型
对象就是引用数据类型
生成对象的方法
Java虚拟机把内存分为栈内存和堆内存

对象就叫引用数据类型
应该如何学习面向对象
面向对象的思维方式

class Test{
public static void main(String args []){
Dog d = new Dog();
d.name="旺财";
d.age=2;
d.color="黑色";
d.jump();
System.out.println("名字是"+d.name);
}}

对象的使用方法,多对象的创建方法,匿名对象的创建和使用方法。
对象的使用方法
使用对象调用变量和函数
对象.变量
对象.函数()
生成多个对象
匿名对象的使用
可以不定义对象的引用名称,而直接调用这个对象的方法,这样的对象叫做匿名对象。
如:new Dog().jump();

函数的重载和构造函数的作用
重载的表达
class A{
void funA(){
System.out.println("没有参数的funA函数");
}
void funA(int i){
System.out.println("拥有一个整型参数的funA函数");
}
void funA(int i,double d){
System.out.println("拥有两个参数的funA函数");
}
class Test{
public static void main(String args[]){
A a = new A();
a.funA();
a.funA(1,3.2);
}
}

什么叫函数的重载呢?
1.两个或者多个函数在同一个类当中;
2.函数名相同;
3.参数列表不同

什么是构造函数?
A(){
}

使用this调用成员变量和成员函数
使用this调用构造函数

1.静态成员变量只有一份
2.在静态函数当中不能使用this;
3.静态代码块的主要作用是为静态成员变量赋值。
class Person{
static{
System.out.println("dd");
}
static String name;
..
}


继承,封装,多态
什么是继承?
为什么要使用继承,
继承特点


什么是继承?
在现实世界当中,继承就是儿子得到了老子的东西;
在面向对象的世界当中,继承就是一个类得到了另一个类当中的成员变量和成员方法;
Java当中只支持单继承
Java只支持单继承,不允许多继承。

总结:
使用继承是为了减少重复代码
继承的基本语法

子类实例过程
生成子类的过程
使用super调用父类构造函数的方法

class Person{
String name;
int age;
Person(){
System.out.println("Person的无参数构造函数");
}
Person(String name,int age){
this.name = name;
this.age = age;
System.out.println("Person有参数构造函数");
}
void eat(){
System.out.println("吃饭");
}
}

class Student extends Person{
//在子类的构造函数当中,必须调用父类的构造函数
Student(){
super();
System.out.println("Student的无参数构造函数");
}
Student(String name,int age,int a){
super(name,age);
this.a = a;
}

继承只能继承成员变量成员函数
class Test{
public static void main(String args[]){
Student student = new student();
}
}
虽然子类不能继承父类的构造函数,但我能用super()来调用父类的构造函数。
调用子类的构造函数,一定会调用父类的构造的函数。
听懂了实例过程


函数的复写(override)
使用super调用父类的成员函数 
//复写(override)也被称之为覆盖或者重写
//在具有父子关系的两个类当中
//父类和子类各有一个函数,这两个函数的定义(返回值类型,函数名和参数列表)完全相同

class Student extends Person{
String address;
void introduce(){
super.introduce();
System.out.println("我的家在"+address);
}
}

对象的转型(多态性的体现)
对象的向上转型和向下转型
什么是向上转型?
向上转型就是将子类的对象赋值给父类的引用。


Student s = new Student();
Person p = s;

//一个引用能够调用哪些成员(变量和函数),取决于这个引用类型
//一个引用调用的是哪一个方法,取决于这个引用所指向的对象。
class Test{
public static void main(String args[]){
String s = new Student();
Person p = s; p.name = "hhh";
p.age = 20;
//p.address = "beijing";
p.introduce();
//p.study();
}
}

什么是向下转型?
向下转型就是将父类的对象赋值给子类的引用


Student s1 = new Student();
Person p = s1;
Student s2 = (Student)p;


23
抽象函数的语法特征
抽象类的语法特征
抽象类的作用

类是抽象的,对象是具体的
比类更抽象的,就是抽象类
先抽象,后具体


什么是抽象函数?
只有函数的定义,没有函数体的函数被称为抽象函数
abstract void fun();
class Person{
String name;
int age; void introduce(){
System.out.println("我的名字是"+name+",我的年龄是"+age);
}
abstract void eat();
}

什么是抽象类?
使用abstract定义的类被称之为抽象类
抽象类不能够生成对象;
如果一个类当中包含有抽象函数,那么这个类必须被声明为抽象类
如果一个类当中没有抽象函数,那么这个类也可以被声明为抽象类

抽象类 不能实例化
继承抽象类,那么该类必须为抽象类
复写,可以使用复写,就可以使用抽象类


class Chinese extends Person{
 void eat(){
  System.out.println("hhh");
 }
}


class Test{
 public static void mian(String args[]){
  Person p = new Chinese();
  p.eat();
  }
}


抽象类为基类,其他的类来继承它,就是当爹的

抽象类可以有构造函数吗?
条件:
抽象类不能生成对象
构造函数用于生成类的对象
super的作用

abstract class Person{
Person(){
System.out.println("Person的构造函数");
} Person(String name,String age){
this.name = name;
this.age = age;
} String name;
int age;
void introduce(){
System.out.println("我的名字是"+name+",我的年龄是"+age);
}
abstract void eat();
}

class Chinese extends Person{

 String address;
Chinese(){
super();
System.out.println("Chinese的构造函数");
} Chinese(String name,int age,String address){
super(name,age);
this.address = address;
}
void eat(){
System.out.println("用筷子吃饭");
}
}

class Test{
public static void main(String args[]){
Person p = new Chinese();
P.eat();
}
}

不能调用抽象类的构造函数,但可以用子类来调用抽象函数,生成子类对象的时候使用调用构造函数。

结论:
抽象函数就是没有函数体的函数
抽象类使用abstract来定义
抽象类不能生成对象,但是却可以拥有构造函数,这个构造函数是为了子类准备的。

24为什么用抽象类。
如果一段代码在语意上是有错误的,那么在语法上也应该是有错误的
abstract class Printer{
void open(){
System.out.println("open");
}
void close(){
System.out.println("close");
}
abstract void print();
}
25什么是Java当中的软件包?
为什么要用软件包?
如何给一个类打包?


//将类放置到一个包当中,需要使用package“包名”
//编译时需要使用-d参数,该参数的作用是依照包名生成相应的文件夹
//一个类的全名应该是“包名”+"."+"类名"
//hhh.Test,执行的话,要使用java hhh.Test
//包名的命名规范
//要求包名所有的字母都要小写
//包名一般情况下,是你的域名倒过来写
package hhh;
class Test{
public static void main(String args[]){
System.out.println("hellos");
}
}

软件包为Java类提供了命名空间
打包需要使用package指令
一个类的全名应该是“包名”+“类名”

包和访问权限的语法

Java当中的访问权限
public : 公共权限
private : 私有权限
default:包级别访问权限
protected:受保护权限


27包和访问权限
访问权限与继承的关系
protected权限


//如果子类和父类不在同一包当中,则子类无法继承到父类当中的default权限的成员变量和成员函数(有问题)
//如果子类和父类不在同一包当中,子类可以继承到父类当中的default权限的成员变量和成员函数,但是由于权限不够,无法使用
protected 权限首先拥有和default一样的功能,但是该权限只能修饰成员变量和成员函数 
//public > protected > default > private 

package com.hh;
public class Person{
String name;
int age;
void eat(){
System.out.println("eat");
}
void sleep(){
System.out.println("sleep");
}
}
package cn.mm;
import com.hh;
class Student extends Person{
void introduce(){
System.out.println("我的名字是"+name+",haha"+age);
}
}

从入门到熟悉!

坚决不放弃!

喜欢本文的朋友们

欢迎长按下图关注订阅号醉翁猫咪

收看更多精彩内容


Android入门教程(五)的更多相关文章

  1. Android入门教程(四)

    关注我,每天都有优质技术文章推送,工作,学习累了的时候放松一下自己. 本篇文章同步微信公众号 欢迎大家关注我的微信公众号:「醉翁猫咪」 学习Android要掌握Android程序结构,和通信技术,和如 ...

  2. 无废话ExtJs 入门教程五[文本框:TextField]

    无废话ExtJs 入门教程五[文本框:TextField] extjs技术交流,欢迎加群(201926085) 继上一节内容,我们在表单里加了个两个文本框.如下所示代码区的第42行位置,items: ...

  3. PySide——Python图形化界面入门教程(五)

    PySide——Python图形化界面入门教程(五) ——QListWidget 翻译自:http://pythoncentral.io/pyside-pyqt-tutorial-the-qlistw ...

  4. Android入门教程(二)

    Hello World 项目 首先当我们启动Android Studio的虚拟机时,可以看到第一个项目Hello World,那么虚拟机中的Hello World!是如何书写的呢? 看看虚拟机运行结果 ...

  5. Elasticsearch入门教程(五):Elasticsearch查询(一)

    原文:Elasticsearch入门教程(五):Elasticsearch查询(一) 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:h ...

  6. RabbitMQ入门教程(五):扇形交换机发布/订阅(Publish/Subscribe)

    原文:RabbitMQ入门教程(五):扇形交换机发布/订阅(Publish/Subscribe) 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. ...

  7. linux.linuxidc.com - /2011年资料/Android入门教程/

    本文转自 http://itindex.net/detail/15843-linux.linuxidc.com-%E8%B5%84%E6%96%99-android Shared by Yuan 用户 ...

  8. WebGL入门教程(五)-webgl纹理

    前面文章: WebGL入门教程(一)-初识webgl WebGL入门教程(二)-webgl绘制三角形 WebGL入门教程(三)-webgl动画 WebGL入门教程(四)-webgl颜色 这里就需要用到 ...

  9. Android入门教程之我见

    真正的从安卓入门学习到实际工作也差不多一年时间了,也做了几个项目.在这期间经历了一开始学习Android的基本知识后仍旧无从下手,不知道如何开始开发一个app,到现在也开始学会注意Android架构的 ...

  10. WCF入门教程五[WCF的通信模式]

    一.概述 WCF在通信过程中有三种模式:请求与答复.单向.双工通信.以下我们一一介绍. 二.请求与答复模式 描述: 客户端发送请求,然后一直等待服务端的响应(异步调用除外),期间处于假死状态,直到服务 ...

随机推荐

  1. C#测试代码、函数、方法执行时间,方便进行系统性能评估

    代码如下: System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch(); stopwatch.Start() ...

  2. JavaScript数值类型保留显示小数方法

    <script type="text/javascript"> //保留两位小数 //功能:将浮点数四舍五入,取小数点后2位 function toDecimal(x) ...

  3. Web漏洞扫描

    SkipFish skipfish语法格式,其他参数使用skipfish -h查看文档 skipfish -o skfish http://url/ -C 指定Cookie 最终会在~/root下面生 ...

  4. 【转载】C#中int.TryParse方法和int.Parse方法的异同之处

    在C#编程过程中,int.TryParse方法和int.Parse方法都可以将字符串string转换为整型int类型,但两者还是有区别,最重要的区别在于int.TryParse方法在字符串无法转换为i ...

  5. Redis安装、主从配置及两种高可用集群搭建

    Redis安装.主从配置及两种高可用集群搭建 一.            准备 Kali Linux虚拟机 三台:192.168.154.129.192.168.154.130.192.168.154 ...

  6. Jenkins使用过程中注意事项

    jenkins自动部署注意事项: 安装jenkins https://blog.csdn.net/qq_37372007/article/details/81586751 1.当提示错误ERROR: ...

  7. vue.js下移动端绑定click事件失效,pc端正常的问题

    原因可能是 我在项目中使用到了 better-scroll,默认它会阻止 touch 事件.所以在配置中需要加上 click: true 即可. 例如: mounted () { this.scrol ...

  8. php 文件包含 include、include_once、require、require_once

    简言之,include某文件:把某文件的代码粘过来,如果该文件不存在,也继续执行下面的代码,带_once的是看看之前引用过没,引用过就不引用了(_once这行代码的心里活动:“之后引用过没有我不关心, ...

  9. 05-jQuery介绍

    本篇主要介绍jQuery的加载.jquery选择器.jquery的样式操作.jQuery的事件.jquery动画等相关知识. 一.jQuery介绍 jQuery是目前使用最广泛的javascript函 ...

  10. Kali Linux 2019.4发布了!解决Kali Linux 2019.4中文乱码问题

    2019年11月26日,kali Linux官网发布了Kali Linux 2019.4发行版,此版本做了很大的改动,界面焕然一新. Kali Linux 2019.4涉及到的一些新更新内容包括: 新 ...