posts - 5,comments - 0,views - 262

又是新的一天,真好。
每日名言:
纸上谈来终觉浅,绝知此事要躬行。

计算机硬件介绍

  • 赫兹(hz):在给定时间段内,可执行指令次数

    1.1khz = 1024hz
    2.1mhz = 1024khz
    3.1Ghz = 1024mhz

  • cpu 中央处理器(central processing unit)
  • IT定律之计算机行业发展定律

    1.摩尔定律
    2.安迪比尔定律
    3.反摩尔定律

  • 1字节(byte)由8个比特(bit)构成
  • 分辨率:显示设备水平和垂直方向上显示的像素数,像素密度才是衡量标准(ppi)

计算机发展史上鼻祖

  • 图灵,冯·诺依曼、 图灵奖(中国只有姚期智)
  • 万维网(world wide web环球信息网)WWW可以让用户访问浏览web 服务器上的页面,是一个由许多互相连接的超文本组成的系统,通过互联网直接访问,在这个系统中,每一个有用的事物,称为一样的“资源”;并且由一个全局“同意资源标识符(URI)标识;致谢资源通过超文本传输协议,(HTTP)传输给用户,后者通过点击链接来获得资源。
  • 软件架构分为两种 B/S和C/S

Java

Java的一些特性

1.分布式
2.多线程:在 Java 语言中,线程是一种特殊的对象,它必须由 Thread 类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为 Thread(Runnable) 的构造子类将一个实现了 Runnable 接口的对象包装成一个线程,其二,从 Thread 类派生出子类并重写 run 方法,使用该子类创建的对象即为线程。值得注意的是 Thread 类已经实现了 Runnable 接口,因此,任何一个线程均有它的 run 方法,而 run 方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java 语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为 synchronized)。
3.安全性
4.动态性
5.java生成的字节码文件不依赖于平台
6.完全面向对象:Java采用单重继承+接口提供语言级的内存自动管理和异常处理方式。

面向对象编程的三大特性

1.封装性(encapsulation):封装是一种信息隐蔽技术,它体现于类的说明,是对象的重要特性。封装使数据和加工该数据的方法(函数)封装为一个整体,以实现独立性很强的模块,使得用户只能见到对象的外特性(对象能接受哪些消息,具有哪些处理能力),而对象的内特性(保存内部状态的私有数据和实现加工能力的算法)对用户是隐蔽的。封装的目的在于把对象的设计者和对象的使用者分开,使用者不必知晓其行为实现的细节,只须用设计者提供的消息来访问该对象。

2.继承性继承性是子类共享其父类数据和方法的机制.它由类的派生功能体现。一个类直接继承其他类的全部描述,同时可修改和扩充。继承具有传递性。继承分为单继承(一个子类有一父类)和多重继承(一个类有多个父类)。类的对象是各自封闭的,如果没继承性机制,则类的对象中的数据、方法就会出现大量重复。继承不仅支持系统的可重用性,而且还促进系统的可扩充性。

3.多态性:对象根据所接收的消息而做出动作。同一消息被不同的对象接受时可产生完全不同的行动,这种现象称为多态性。利用多态性用户可发送一个通用的信息,而将所有的实现细节都留给接受消息的对象自行决定,如是,同一消息即可调用不同的方法。例如:同样是 run 方法,飞鸟调用时是飞,野兽调用时是奔跑。多态性的实现受到继承性的支持,利用类继承的层次关系,把具有通用功能的协议存放在类层次中尽可能高的地方,而将实现这一功能的不同方法置于较低层次,这样,在这些低层次上生成的对象就能给通用消息以不同的响应。在 OOPL 中可通过在派生类中重定义基类函数(定义为重载函数或虚函数)来实现多态性。

Java专业术语

Application: 显示字符串的Application应用程序。
Applet:通常嵌入在网页中运行
Java可以在平台之上再提供一个Java运行环境(Java Runtime Environment,JRE)这个Java运行环境由Java虚拟机(Java Virtual Machine,JVM)、类库以及一些核心文件组成
JDK(Java Development Kit ):编写Java程序的程序员使用的软件
JRE(Java Runtime Environment):运行Java程序的用户使用的软件
Server JRE (Java SE Runtime Environment):服务端使用的 Java 运行环境
SDK(Software Development Kit):软件开发工具包,在Java中用于描述1998年~2006年之间的JDK
DAO(Data Access Object):数据访问接口,数据访问,顾名思义就是与数据库打交道
MVC(Model View Controller):模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用于组织代码用一种业务逻辑和数据显示分离的方法

类。对象,方法,实例

对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。
:类是一个模板,它描述一类对象的行为和状态。
方法:方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的。
实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。

第一个Java程序

public class HelloWorld{
/*第一个Java程序
输出 Hello world
*/
  public static void main(String[] args){
    System.out.println("Hello World");
  }
}

Java基本语法

大小写敏感:Java 是大小写敏感的,这就意味着标识符 Hello 与 hello 是不同的。
类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyFirstJavaClass 。
方法名:所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写。
源文件名:源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记 Java 是大小写敏感的),文件名的后缀为 .java。(如果文件名和类名不相同则会导致编译错误)。
主方法入口:所有的 Java 程序由 public static void main(String[] args) 方法开始执行。

Java 标识符

Java 所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。

关于 Java 标识符,有以下几点需要注意:

  • 所有的标识符都应该以字母(A-Z 或者 a-z),美元符($)、或者下划线(_)开始
  • 首字符之后可以是字母(A-Z 或者 a-z),美元符($)、下划线(_)或数字的任何字符组合
  • 关键字不能用作标识符
  • 标识符是大小写敏感的
  • 合法标识符举例:age、$salary、_value、__1_value
  • 非法标识符举例:123abc、-salary
  • 变量和方法:第一个单词小写,从第二个单词开始首字母大写,如:tarenaStudent。
  • 常量:所有字母大写,每个单词之间用 _ 连接。
常见转义字符(逃逸字符)
"\b" (退格)
"\f" (换页)
"\n" (换行)
"\r" (回车)
"\t" (水平制表符(到下一个tab位置))一般是8个字符
"\' " (单引号)
"\" " (双引号) 
"\\" (反斜杠)

Java 变量

Java 中主要有如下几种类型的变量

  • 局部变量
  • 类变量(静态变量)
  • 成员变量(非静态变量)生存期是对象的生存期,作用域是类内部的成员函数
  • 定义在函数内的变量叫本地变量:作用域和生存期都在函数内部

Java 数组

数组是储存在堆上的对象,可以保存多个同类型变量。

Java 枚举

枚举限制变量只能是预先设定好的值,枚举可以单独声明或者声明在类里面。方法、变量、构造函数也可以在枚举中定义。

Java的八种基本类型:(按字节来分)

boolean    布尔型           1个字节 8bit(8位)     包裹类型Boolean
byte       字节类型         1个字节
char       字符类型         2个字节                 包裹类型Character
short      短整型           2个字节
int        整型             4个字节                 包裹类型Integer
float      浮点型(单精度)  4个字节
long       长整型           8个字节
double     双精度类型        8个字节                 包裹类型Double
Java中默认的整数类型是int,如果要定义为long ,则要在数值后加上L或者l
默认的浮点型是双精度浮点,如果要定义float,则要在数值后面加上f或者F
一个字节等于8位,1个字节等于256个数。2^8
一个英文字母或者阿拉伯数字占一个字节,一个汉字占2个字节
Integer.MAX_VALUE获得最大值v

注释规范

1.类注释
在每个类前面必须加上类注释,注释模板如下:

/**
* Copyright (C), 2006-2010, ChengDu Lovo info. Co., Ltd.
* FileName: Test.java
* 类的详细说明
*
* @author 类创建者姓名
* @Date    创建日期
* @version 1.00
*/

2.属性注释
在每个属性前面必须加上属性注释,注释模板如下:
/** 提示信息 */
private String strMsg = null;
3.方法注释
在每个方法前面必须加上方法注释,注释模板如下:

/**
* 类方法的详细使用说明
*
* @param 参数1 参数1的使用说明
* @return 返回结果的说明
* @throws 异常类型.错误代码 注明从此类方法中抛出异常的说明
*/

4.构造方法注释
在每个构造方法前面必须加上注释,注释模板如下:

/**
* 构造方法的详细使用说明
*
* @param 参数1 参数1的使用说明
* @throws 异常类型.错误代码 注明从此类方法中抛出异常的说明
*/

5.方法内部注释
在方法内部使用单行或者多行注释,该注释根据实际情况添加。如:

//背景颜色
Color bgColor = Color.RED

Java编译和运行过程

编译

Application应用程序

运行

Applet应用程序 嵌入

下载

运行

Java源程序 *.java

java的编译器 javac.exe

字节码文件 *.class

超文本文件*.html

web浏览器

Windows操作系统Java虚拟机

java解释器 java.exe

windows操作系统

具体操作

Scanner in = new Scanner(System.in);
int n = scanner.nextInt();//nextint 读入整数
System.out.println(in.nextline());//nextline 读入一整行
final int a = 100;// final int 常量,不能改变
System.out.print((int)(a));  //强制类型转换

关系比较优先级中:==和!=的优先级要低于其他的
如:! > && > ||

  • 6>5>4 这是错误的,得到true>4
  • a == b == true 这是正确的
  • a == b == 4 这是错误的 true = 4
  • a == b > false 这是错误的
    注意double类型的数不能互相比较,有误差
  • 只能通过 Math.abs(a-b) < 1e-6; //a,b 为浮点数
    一般遵循单一出口原则
    循环和分支还有判断和c++基本一致
    如果有固定次数,用for;必须先进行一次用do while,其他情况用while
    如果要模拟一个大的循环,可以先模拟一个小的做出判断
    产生随机数int num = (int) (Math.random()*100+1);
    break可以跳出多重循环,可以在循环前放一个标号来标示循环,带标号的break和continue对那个循环起作用。
OUT:       //是一个label
for(;;)
{
  for(;;)
  {
    System.out.println("nihao");
    break OUT;
  }
}

//for循环的第二种方式叫for - each循环
//不能用于修改数组,可以用于读出数组的内容
int data[] = new int[100];
for(int k : data){}

System.out.printf("%.2f",a);//输出小数点后两位

布尔类型:判断真假
boolean

String 类型

取出某个字符s.charAt(i);//i从0-s.length()-1
比较两个字符串内容 s.equals(b);//结果为真输出true
比较两个字符串大小s.compareTo(b);//s<b,结果是负 s = b,结果是0 s > b,结果是正
compareToIgnoreCase可以不区分大小写的来比较大小
取出子字符串substring(n);//从n一直取到末尾
substring(a,b);//从a取到b;不包括b位置
indexOf可以找出字符串中第一个字母的位置
s.indexOf('A');s.indexOf("A23");输出A存在的位置
indexOf('a',loc+1);//从loc位置开始往后找a
字符串的改变操作都是制造一个新的字符串出来

函数

函数就是一块代码,接收0或者多个参数,做一件事情,并返回0或多个值
包括

public static void sum(int a)//函数头,sum叫函数名,void是返回类型
{
  //函数体
}
Math类 函数

abs求绝对值
round求四舍五入的值
random给出一个从0-1的随机数
pow(2,3.2);计算23.2次方

类和对象

对象:对象是实体,需要被创建,可以为我们做事情
:类是规范,根据类定义来创造对象
对象 = 属性 + 服务
this是成员函数的一个特殊的固有的本地变量,它表达了调用这个函数的那个对象

int price;
void setPrice(int price1)
{
  this.price  =  price1;//
}

对象初始化

构造函数:一个成员函数名和类名完全相同,创建类的每一个对象会自动调用这个函数,没有返回类型,可以重载(同名,参数表不同)

对象交互

一个对象里可以拥有另一个对象的成员

访问属性

封装

概念 :封装,就是把数据和对这些数据的操作放在一起,并且用这些操作把数据掩盖起来,是面向对象的基本概念之一,也是最核心的概念。
private
private只能用于成员变量还有成员函数,它的意思是说这个变量或者函数是这个类所私有的,只有在这个类的内部才能访问到

  • 而类的内部指的是成员函数和定义初始化
  • 这个限制是对类的而不是对对象的(这一点我们可以这样解释,在一个定义有多个对象的类中,在类内部的对象可以互相使用类内的对象)

public
public字如其名,可以被任何对象所调用。
值得注意的是,当我们不在成员函数上使用public关键字的时候,被认为是"friendly",在同一个包下是可以被使用的,

同时,我们在定义类的时候也用到的是public,我们在java类文件的类名称必须与文件名一致,否则需要重构
上面提到的定义public成员函数和成员变量的,对于定义类也是这么一回事,没有在这个包里面就不能用。

  • 一个编译单元最多只有一个public class;其他都是private
package包

包的名字可以带","表达的是在文件系统里文件夹的层次,每一个点代表一个文件夹的层次。通过这个管理类,将类写上全名,分门别类放在一个包里面,形成一个类的有效管理机制。

import 包名.类名;
import 包名.*;//引进包内的所有文件,不推荐,有可能有重名
static 类变量

这个关键字可以用来定义类变量,这个变量是存在于整个类中的,它可以在对象中直接呼出,并且修改,修改的时候所有属于这个类的对象都会被相对应地修改,也可以直接通过类直接呼出变量进行修改。

在含有static定义的函数可以在一个类内直接调用。
类函数中没有this,因为类函数不会和某个对象或者其成员产生互动,也就不需要使用this标识调用其的是哪个对象。只能用来修改static变量,static的初始化和对象的创建没有关系。

parseDouble

posted on   运甓  阅读(52)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示