1.程序:
一组指示计算机执行行动或坐车判断的指令,通常用某种程序设计语言编写,运行于某种目标体系结构上。
2.软件
与计算机操作系统有关的计算机程序,规程、规则,以及可能有的文件,文档及数据
3.软件工程
软件工程一直以来都缺乏一个统一的定义,很多学者和计算机科学家都给出了自己的定义,我们参考如下定义:
软件工程是应用计算机科学、数学、逻辑学及管理科学等原理,开发软件的工程。软件工程借鉴传统工程的原则、方法,以提高质量、降低成本和改进算法。其中,计算机科学、数学用于构建模型与算法,工程科学用于制定规范、设计范型(paradigm)、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。
---摘自《计算机科学技术百科全书》
4.操作系统
是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。
5.Java特点
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。
解释:动态性——Java具有动态性,但是不是动态语言。需要编译 ->同过编译器编译的语言,都不是动态语言
核心思想:面向对象,是一门后台开发语言
python 是动态语言 解释型语言
6.环境配置
找到之前下载的eclipse包,解压到自己想要存放的目录,最好是放文档的磁盘,最好不要有中文目录。解压后,在文件夹中找到eclipse.exe,双击运行即可。
JDK:java development kit(开发工具)
为什么要安装jdk?
jdk是Java开发工具
jdk提供了很多Java命令,像执行,编译等,并且jdk内置了jre(Java运行环境),提供了丰富的类库提供第哦啊用完成程序开发。
为什么在需要配置环境变量?
配置环境变量是为了保证我们在系统的任意目录调用到Java命令(javac,java)。
Java执行原理(了解)
1.Java程序在执行之前会经过编译器编译得到class文件(.java——.class)
2.类加载器将class文件加载到Java虚拟机
3.Java虚拟机能够解释执行代码
Java程序的单位:类
Java命名规则:
包的命名
Java包的名字都是由小写单词组成。但是由于Java面向对象编程的特性,每一名Java程序员都可以编写属于自己的Java包,为了保障每个Java包命名的唯一性,在最新的Java编程规范中,要求程序员在自己定义的包的名称之前加上唯一的前缀。由于互联网上的域名称是不会重复的,所以程序员一般采用自己在互联网上的域名称作为自己程序包的唯一前缀。
例如: net.frontfree.javagroup
类的命名
类的名字必须由大写字母开头而单词中的其他字母均为小写;如果类名称由多个单词组成,则每个单词的首字母均应为大写例如TestPage;如果类名称中包含单词缩写,则这个所写词的每个字母均应大写,如:XMLExample,还有一点命名技巧就是由于类是设计用来代表对象的,所以在命名类时应尽量选择名词。
例如: Circle
方法的命名
方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头。
例如: sendMessge
常量的命名
常量的名字应该都使用大写字母,并且指出该常量完整含义。如果一个常量名称由多个单词组成,则应该用下划线来分割这些单词。
例如: MAX_VALUE
变量的命名:
以数字,字母,某些特殊字符组成,但是不能用数字开头。
变量的类型:基本数据类型(八大类型),引用数据类型(简单来说指的就是一个内存地址,分类:数组,类,接口,枚举)
String name="";
String name1=new String("肖战");//name不是基本类型,String是一个类,所以name是一个引用类型,字符串拼接用+号//Person person2=new Person("",28,"重庆工商大学","唱歌,跳舞,演戏,迷人");//如果定义了一个类,变量前面的类型声明是以恶类型,那么此时的变量的类型为引用类型
变量按照作用域的范围分:局部变量和全局变量(成员变量)
局部变量的特点:定义在函数体内;定义在函数参数列表内;代码块内{}
作用域:满足以上任意一点的变量都是局部变量,此变量的作用域局限于最近的一对{}
局部变量是无法使用修饰符去修饰的;
全部变量:定义在类体内;在函数外;在代码块外
注意:在一个作用域内不管是全局变量还是局部变量不能够定义名字一样的变量。
关键字:Java中具有特殊含义的单词,不能用来定义类,变量,方法。
7.eclipse中设置编码格式:Windows——preferences——general——workspace——other——utf-8——ok
eclipse默认的是sysout或者syso 再加Alt + / 就可以输出System.out.println()
8.字节与二进制
二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二";
字节(Byte)是计算机信息技术用于计量存储容量的一种计量单位,通常情况下一字节等于有八位,也表示一些计算机编程语言中的数据类型和语言字符.
9.Java中的八种数据类型:
boolean 布尔型 真/假 1个字节 8bit(8位)
byte 字节类型 1个字节 8bit(8位)
char 字符类型 2个字节
short 短整型 2个字节
int 整型 4个字节
long 长整型 8个字节
float 浮点型(单精度)4个字节
double 双精度类型 8个字节
double 的精度 是高于 float
算式的结果, 乘除会取算式中精度最低的类型
强转: 如果算式得到的是一个double型, 你赋值给float型, 需要强转成float,单精度要成为双精度,不用强转
强转会丢掉精度
高精度转低精度 丢失精度
float a=3.14f;float b=(float)3.14;//小数默认被提升为了double类型(8个字节),这个过程叫类型自动提升,但是左边变量的类型声明float,因此大类型转换为小类型,必须向下强制转换,此过程需要手动强制转换
packagejava_learning;public classdemo1 {public static voidmain(String[] args) {//TODO Auto-generated method stub
float a=1.23467f;double b=0;
System.out.println(b);
b=a;
System.out.println(b);
System.out.println("华丽分割线");floatx;double y=1.896767896543;
x=(float)y;
System.out.println(x);
}
}0.0
1.2346700429916382华丽分割线1.8967679
10.java语法基础
空格:保留关键字(有文档)以及变量间的分隔符 public class Test{}
逗号:并行,枚举 int a,b,c;
分号:语句分隔符 int a=1;int b=1;
大括号:语句块,类名后的大括号,就表示里面的代码组成这个类。
小括号:参数的传递,运算符。
单引号:标识字符类型
双引号:标识字符串类型
反斜杠:转义 String a=“\””;
注释://、/* */
11.Java算数运行算符
+ 加/字符串拼接
- 减
* 乘
/ 除
++ 自增
【a++称为“后增量”。a变量自增,返回自增之前的值;是先执行表达式后再自增,执行表达式时使用的是a的原值,后面再用到a的值时+1。++a运算符在操作数之前,称为“前增量”。a变量自增,返回自增之后的值。是先自增再执行表达示,执行表达式时使用的是自增后的a。】
-- 自减
= 赋值
== 判断相等
int a=1;
System.out.println(a++);//1 下一次用才是用+1之后的值 就是2
System.out.println(++a);//3 用之前就已经+1 所以是3
int b=5;
System.out.println(b--);//5 下一次用就是4
System.out.println(--b);//3
12.位运算(速度快)
位运算 位移 其实就是二进制上操作一个数的计算
<< 左位移 移动一位,等于乘2 比如2<<3 就等于2*2 一次 再*2 第二次 再*2 也就是第三次
>> 右位移移动一位,等于除以2
注意: 位移只能用在整数. 位移不能移动负数位
13.运算符优先级
*、/高于+、-
位移优先级低于四则运算,高于赋值
赋值运算最低
14.关系运算符
关系运算 String 需要用str1.equals() 取反,前面加!
==是比较两个数字是否相同
15.逻辑运算符
16.Scanner,if...else,switch【暂定,先是简单使用】
case里面必须是个常量,不能是变量
packagejava_learning;importjava.util.Scanner;public classdemo1 {public static voidmain(String[] args) {//TODO Auto-generated method stub//创建Scanner对象 System.in标准化输出,也就是键盘输出
Scanner sc=newScanner(System.in);//利用hasNext()判断是否还有下一项输入项//while (sc.hasNext()) {// //利用next()输出内容//String str=sc.next();//System.out.println(str);//
//}//
int age=sc.nextInt();if (age>=18) {
System.out.println("您已经成年了"+age);
}else{
System.out.println("您还是鲜肉\t"+age);
}
String sex="男";switch(sex) {case("男"):
System.out.println("男生");break;case("女"):
System.out.println("女生");break;case("不男不女"):
System.out.println("人妖");break;default:
System.out.println("性别输入错误");
}
}
}89您已经成年了89
男生
17.循环
在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句。
一组被重复执行的语句称之为循环体,能否继续重复,决定循环的终止条件。
循环结构是在一定条件下反复执行某段程序的流程结构,被反复执行的程序被称为循环体。
循环语句是由循环体及循环的终止条件两部分组成的。
死循环 没有跳出循环的条件
while 当型循环 当满足条件时, 才会执行循环内容 有可能不满足条件, 一次都不会循环
do while 直到型循环, 执行循环,直到不满足循环条件, 结束
区别: do...while 不管条件满足不满足,它是先执行在判断条件,所以代码至少执行一次
while。。。。只有在条件满足的时候蔡虎执行。
continue 语句是跳过循环体中剩余的语句而强制执行下一次循环,其作用为结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。
注意:continue 语句只能用在 while 语句、for 语句在这之外的任何地方使用它都会引起语法错误。
break:用于跳出循环
注意:break在switch中也可以用
continue:跳过本次循环(忽略本次循环)
break:跳出整个循环(结束整个循环)
18.switch
switch语句能够接受的变量类型是有限的。能接受:char,byte,short,int ,String,enum。
String sex="男";switch(sex) {case("男"):
System.out.println("男生");break;case("女"):
System.out.println("女生");break;case("不男不女"):
System.out.println("人妖");break;default:
System.out.println("性别输入错误");
19.九九乘法表
packagejava_learning;importjava.util.Scanner;public classdemo1 {public static voidmain(String[] args) {//九九乘法表
for (int i =1;i<=9;i++) {for (int j=1;j<=9;j++) {
System.out.print(i+"*"+j+"="+i*j+" ");
}
System.out.println();
}
}
}
packagejava_learning;importjava.util.Scanner;public classdemo1 {public static voidmain(String[] args) {//九九乘法表
for (int i =1;i<=9;i++) {for (int j=1;j<=9;j++) {if (i==j) {
System.out.print("\t\t");
}else{
System.out.print(i+"*"+j+"="+i*j+" ");
}
}
System.out.println();
}
}
}
//九九乘法表
for (int i =1;i<=9;i++) {for (int j=1;j<=9;j++) {if (i+j==10 || i==j) {
System.out.print("\t\t");
}else{
System.out.print(i+"*"+j+"="+i*j+" ");
}
}
System.out.println();
}