实训知识整理记录 第一周

第一周

大四安排外出实训,虽然大学学习了3年但是来实训从零开始发现很多很基本的东西并不是很熟悉和了解,广度还行但是稍微深挖就茫茫然,同时第一次脱离教材学习实践。于是借此机会整理笔记,第一训练从接受知识到接受并可以表达知识的能力,第二留作参考资料,第三记录来做自我监督。每周五一篇,周六日提前学习Android开发或者完成一些杂项学习,如果有知识需要整理记录不定期发布,到课程到达时完整整理。

Linux系统基本知识 

model1 unix环境介绍

1.unix组成:
1.硬件
2.kernal: 内核,驱动硬件执行的第一个软件
    管理设备,内存,进程,
     和系统硬件交互的系统功能和系统程序。
    管理交换空间,精灵程序,文件系统和其他功能。
3.shell:系统用户和kernal之间交互的接口,充当翻译者解释者的角色。
    4.文件系统:由目录,子目录和文件因为特定的目的组合在一起的一个体系结构。
    
2.路径名:
用来唯一标识一个文件或者目录的位置
1. linux下的路径分隔符使用/.linux没有盘符的概念,根路径就是/
windwos下的路径分隔符使用\,windows有盘符的概念,所有根路径一般指的时某一个盘符
2. 两种路径:
绝对路径:
  1.用来指明文件或者目录和/目录之间的关系
  2.所有的绝对路径都以/开头
相对路径:
  1.用来描述文件或者目录和当前工作目录之间的关系
  2.所有的相对路径都是不以/开头的路径

3.目录结构
/ : 顶级目录,根目录
    /opt:一般情况下存放安装的第三方的软件或者系统补丁,类似于windows下的program and file
/etc:系统配置文件,随操作系统启动而启动(读取)
    /dev:设备文件。
/usr:操作系统自带,供所有用户共享。
/kernel(/boot):内核程序
/var:root用户独有的,例如系统日志文件
/home:用来存放所有用户的家目录

model2  Login and Logout 登陆与登出

1.远程登录
telnet 服务器ip地址
Login:用户名
password:
2.登出:
logout:退出当前登录的用户。但是logout不能退出图形化界面登录的用户。
      exit:可以退出所有终端。
3.修改密码:
1.passwd:修改当前用户的密码
2.passwd username:修改指定用户的密码(权限)
3.sudo passwd
4.切换用户:
su - username:切换到指定用户,如果后边没有根username,那么代表切换到root用户
su username:切换到指定用户,如果没有跟username,默认切换root用户
加后者不加-选项的切换方式区别:
加-的话切换到制定用户的home目录,不加-的话所在目录不变
note:
刚刚安装的操作系统,root用户是没有密码的。并且没有密码的root用户是不能使用的。给root用户设置(修改)密码,使用创建系统的第一用户身份执行命令:sudo passswd

5.用户信息:
1./etc/passwd:
root:x:0:0:root:/root:/bin/bash
    一条记录代表一个用户信息。每条记录都使用:进行分割,分割出7项:
1.用户名:唯一标识
2.原来存放密码。后来单独将密码提取到文件/etc/shadow文件中。为了兼容之前的版本,使用x占位。
3.uid:用户id
4.gid:组id
5.用户描述信息
6.用户的家目录
7.用户登录时默认使用的shell
2./etc/shadow 存放密码
3.username & uid
4.用户家目录

model 3 basic unix command 基本unix命令

1.基本语法:
command [option] [argument]
note:
1.必须使用空格分割命令的每一部分
2.一定严格区分大小写
2.清屏命令:clear
windows:cls
3.pwd:打印当前工作目录的绝对路径名。
4.cd:change directory,切换目录(路径)
cd pathname(绝对路径/相对路径)
.   :  当前路径
    ..  :  上一级目录
    ~:  家目录 
cd . : 
cd .. : 回到上一级目录
cd ~ : 回到当前用户的家目录
cd  : 回到当前用户家目录
cd ~username:进入指定用户的家目录
相对路径:
/home/briup
/etc
cd ../../etc

5.ls : list 默认列出当前工作目录下的所有文件和目录
  ls dirname:打印指定目录下的所有的文件以及目录
options:  
  -a : 显示所有的文件,包含隐藏文件。(.) 
  -R : 递归显示指定目录下的所有的文件以及子目录,包含子目录下的所有子文件和子目录
  -t : 按照时间排序显示文件和目录列表
  -l : 显示一个长的列表
-|rw-rw-r--|1|briup|briup|
683|Sep 6 10:09|a

1.文件类型:
- : 普通文件
d : 目录
b : 块设备文件
c : 字符设备
    l : 链接文件
s : 套接字文件
p : 管道通信文件
2.rwx rwx rwx:拥有者  同组人 其他人
3.链接号
4.拥有者
5.拥有组
6.大小
7.最后一次修改时间
8.文件名字


-F: 显示文件类型
   /:目录
*:可执行文件
:普通文件
-d : 指定目录
ls -l Desktop:显示Desktop目录下的所有文件以及子目录的长列表信息
ls -ld Desktop:显示指定的Desktop目录的长列表信息。


6.修改文件权限的命令chmod
  1).chmod  mode  filename
mode: 
who(u,g,o,a)  op(+,-,=)  permission(r,w,x)
chmod u+x a
    2).chmod 八进制数 filename
rwx   rwx  rwx
110 110 100
6      6     4
chmod 664 a
rwx  rw-  -w-
111 110 010
7      6     2

7.touch : 创建一个新的空的文件,或者更新文件的访问或修改时间。
8.mkdir:创建目录
-p : 级联创建父目录
9.cp:拷贝文件
  -i : 用来给出提示信息
cp       src      dest
           文件    文件      将源文件的内容拷贝到目标文件
                       目录      将源文件拷贝到目标目录中
                                       不存在  将源文件另存为(复制出)新的文件
                -r:    目录     文件      报错
                       目录      将源目录中的所有文件以及子目录拷贝到目标目录中
                       不存在  将源目录复制保存为新的目录
10.mv : 移动或者重命名
-i : 提示
mv       src     dest
        文件   文件      覆盖
               目录      移动文件
       不存在  重命名
                目录   文件      报错        
       目录      将源目录中的所有文件以及子目录移动到目标目录中
         不存在   移动位新目录
11.rm/rmdir
rm filename:删除指定文件
rm -r filename: 删除非空目录
rmdir empty_dir : 删除空目录
12.man : 查看帮助文档。
  man command_name
            spacebar(空格键):一次一屏幕
    enter : 一次一行

model 4 元字符

1.概念:
对于shell来说由特殊含义的字符
2.例子:
  1.* : 代表0--n个字符
  2.?: 代表任意一个字符
  3. [] : 匹配指定集合或者范围中的一个字符
  4. ;: 多个命令之间的分隔符
  5. :: linux的路径分隔符
  6. >:重定向一个命令的输出到文件而不是到屏幕(覆盖源文件)
  <:重定向一个命令的输入从文件而不是键盘
   >>:默认行为和>一致,如果后边跟的文件名字存在,那么向文件中追加结果而不是像>一样覆盖源文件。
7.|:将前一个命令的输出作为下一个命令的输入

model 5 text viewers

1.cat
1.将文本文件的内容在屏幕上显示
cat filenames
    2.常用来将多个文件组合成一个大的文件。
cat /dev/null > filename : 清空指定文件
:>filename : 快速清空文件
2.more:
1.将文本文件的信息分屏幕显示,一次显示以屏幕
 空格:一次一屏幕
 enter:一次一行
3.head & tail
  head filename:显示文件的前几行信息,默认10行
    tail filename:显示文件的后几行信息,默认10行
    head -n filename: 显示前n行的信息
  tail -n filename: 显示后n行的信息

model 7  find on unix

1.id : 默认显示当前正在运行的用户的相关信息(uid,gid)
  id username:显示指定用户的相关信息(uid,gid)
2.users:显示当前登录系统的所有用户的用户名
3.who:显示当前登录本系统的所有用户信息
     w:显示信息比who更详细
4.who am i:显示自己的信息。
       whoami:显示自己的用户名
5.find : 查找命令
按照指定条件查找文件。
  语法: find pathname expression [action]
  -type
  -size
  -perm
  -name
  -user
  -mmin
  -mtime
  ......
  perl -p -i.bak -e "s/oldStr/newStr/g" filenames
6.grep : 根据指定的文本字符串从文本文件中检索符合的行。此命令严格区分大小写。
语法: grep [options] string filename
    options:
 -i:忽略字符大小写
 -v:打印所有不包含指定字符串的行
查找正在执行vi操作的用户:w | grep -i vi


7.wc : 统计一个文件中所有的行,单词个数,和字符个数
  语法:wc [options] filename
  options:
-l : 只统计行
-w : 只统计单词
-c : 只统计字符
8.ps:列出正在运行的process
options:
-e
-f

9.top:linux启动类似windows的任务管理器
10.kill  pid: 杀死进程
  kill -9 : 强制杀死
  pkill : 批量杀死
  sleep 1000 & : &代表在后端运行,不占用当前终端。

model 8 network basic

1.ping : 测试和某一台主机是否能够连通
2.ifconfig : 查看主机ip地址
3.telnet:远程访问
4.ftp: 文件上传下载
  1.切换本地目录
  2.ftp  ip
 user
 passwd
  3.ftp>设置文件传输格式 bin / asc
  4.ftp>关闭多文件上传下载提示:prompt off 
  5.ftp>put/get mput/mget
文件上传下载不能是目录 
  6.ftp>离开 bye

model 9 设置初始化文件

分类
1.系统级别
/etc/profile
2.用户级别
~/.bashrc
如果让配置文件起作用:
1. . .bashrc
2. source .bashrc
3. 重新打开终端

PATH:用来指定系统常用命令的搜索路径。
linux下的路径分隔符使用:windows下使用;
linux中取变量值使用$varName,windows下使用%varName%
echo $varName 查看变量值


1.which:检索命令所在路径的路径名。只会从path所指定的路径下查找
2.whereis : 检索命令所在的路径的路径名,检索范围比which广。
3.history : 显示历史记录
history n:显示最近执行的n条历史记录
!n:执行第n条记录
!!:执行最近一次执行的命令
4.alias : 给命令起别名,组合命令
alias h=history: 使用h来代替history命令
unalias h : 取消h组合命令

5.PS1='$' : 设置用户的终端提示符
6.umask:用来设置创建文件时的默认权限
touch a.txt   perm : 664
mkdir atest   perm : 775
filePerm : 777-umask-所有人的执行权限
rwx rwx rwx
rwx rwx r-x
rw- rw- r--
dirPerm : 777-umask 
umask 033:
dir: 777-033 = 744 rwx r-- r--
file 777-033 = 744 -100 = 644 rw- r-- r-- 



vi编辑器基本操作 

model 6 vi

一:模式
1.命令行模式:
i:
I:行首
a:
A:行尾
o:
O:
x:删除一个字符
2.输入模式
3.底行模式
二、调用:
vi : 打开vi应用
 如果想要保存当前输入内容,那么在保存或者退出时必须指定文件名字,换句话说需要在底行模式输入
:w filename 保存成新的文件
:wq filename 保存带退出
vi filename:filename可以是一个已经存在的名字,也可以是不存在的名字,如果名字存在,相当于打开一个已经存在的文件,如果名字不存在,相当于创建一个新的文件(保存时创建)。

Java语言基础(1)

model 1.getting started

一、java环境安装
1.下载 : oracle ---- jdk{64/32,linux/wins/max}
2.安装(尽量不要安装在有中文或者空格):
1.windows : 双击
    2.linux: 
3.设置java环境:java,javac
  linux:
1.系统级别:/etc/profile
2.用户级别:~/.bashrc
[export]  JAVA_HOME=jdk安装目录
[export]  PATH=$JAVA_HOME/bin:$PATH
[export]  CLASSPATH=.:
//  export JAVA_HOME PATH CLASSPATH
  windows:
计算机---属性---高级环境---环境变量(用户/系统)
如果没有某一个变量就创建
JAVA_HOME:jdk安装目录
CLASSPATH:.;
Path:%JAVA_HOME%\bin;.......

二、java语言(what)
  1.编程语言
  2.开发环境
  3.应用环境
  4.部署环境

三、java编程特征
一次编译,到处运行
。。。。。。

四、jvm : java虚拟机
提供一个解释性的环境。

  1.java程序----编译 ----jvm能够识别的指令(字节码)。
  2.字节码 -----jvm读取 ----- cpu

五、垃圾回收机制
在java代码中不用显示的出现释放内存的操作(在java中new关键字代表申请内存空间。s = new Student();)
垃圾:无用的内存空间。没有引用指向的内存空间。
垃圾回收器:java系统中提供的一个线程级别最低的线程
可以通过java.lang.System.gc()/java.lang.Runtime.gc()这两个方法来给jvm建议(相当于发送一个信号)可以执行垃圾回收了。

六、java工作流程
1.编译:
javac
java源文件(.java)---------java字节码(.class)
javac [options] javasource.java
options:
-d dirname: 指明编译过后的字节码文件存放的路径

   1).java源文件
以.java作为后缀名的文件
     如果java源文件中有public声明的类(接口/枚举),那么源文件的名字必须和这个类(接口/枚举)的名字保持一致。一个java源文件中最多出现一个public修饰的类(接口/枚举).
一个java源文件可以出现很多class,interface,enum

   2).字节码文件
以.class结尾的文件.jvm
   3).package
定义必须出现在源文件的第一行。
编译过后以文件夹/目录的形式存在在磁盘上。
如果一个源文件有了package的定义,那么当前源文件下的所有的类编译过后的字节码文件都必须放在以package名字命名的路径之下。运行时输入的类名必须是 java package.className
4).import:用来导入当前类中所使用的其他的类(java.lang包下的类,和当前包下的类不需要import)
import在源文件中出现的位置必须实在package声明之后,class/intrface/enum之前。

2.运行
java
.class --------jvm------>cpu
java [options] className
options:
-cp : -classpath

1.类加载(双亲委托机制):
1.启动类加载(jre/lib/rt.jar)
2.扩展类加载(jre/lib/ext/*.jar)
3.系统类加载(classpath)



4.网络类加载

    2.字节码安全验证
1.版本是否兼容
2.。。。。

七、java中常用包:
1.java.lang
2.java.awt/javax.swing/java.awt.event
    3.java.io    输入输出
4.java.net 网络
5.java.util java工具类

八、java API

model 2 标识符 关键字 类型

一、 java注释
java中的注释可以出现在任意你想出现的位置,并且注释内容会被编译器忽略
  1.单行注释:(直到遇见换行符就代表注释结束)
语法://注释的内容

  2.多行注释:
语法:/* comments */

 3.文档注释:
语法: /** doc comment
@since
@version -version
@author     -author
@param    
@return 
@see
@throws
*/
javadoc [options] sourcefile
options:
-d : 指定生成的文档存放路径
-author:生成作者信息
-version : 生成版本信息

二、java简单语法规则:
1.语句的结束必须使用;作为标识
int a , b;
2.java中不存在孤立的代码块。java使用{}来组织代码
3.空格,制表符,换行符。。。是无关紧要的。(在可以出现空白的地方可以随意替换为制表符。换行符。。)


三、 标识符
  定义类,变量,方法,package的名字等符号。
  命名规则:
1.以字母,_或者$开头,后接任意字母,数字,_$
    2.没有长度限制
3.严格区分大小写。helloWorld - HelloWorld
4.不能是java中的关键字或者保留字
trueFlag
关键字:见教程
true,false严格来说不是关键字,它们是boolean数据类型的字面值
    保留字:goto const

  推荐命名规则:
1.类名,接口名字,enumName要求首字母大写,如果名字由多个单词组成,每个单词的首字母都大写,HelloWorld
2.方法名,变量名,首字母小写,如果由多个单词组成,每个其余每个单词的首字母均大写。charAt,getValue,maxVale
3.常量名要求全大写,如果名字由多个单词组成,中间使用分隔符_进行分割MAX_VALUE 
4.包名,一般情况下域名倒过来的写法,要求全小写

5.标识符的表意性一定要强。看见类名大概知道类所代表的含义,看见方法名就知道这个方法大概要做什么。。。。

四、 数据类型
1.基本数据类型(八种):
  1).布尔类型(boolean):
取值只有true,false
  2).字符类型(char):
无符号的16位的整数
字面值一般使用‘’扩起来
char c = 'c'; char c = '中';
char c = '\u4e2d';
char c = 0x4e2d;
native2ascii
java中的特殊字符:\ 代表转义字符   
C:\\users\\guomiao
\r:回车
\n:换行
\t:制表符
  3).数字类型
整型:byte short int long
0000 0000
0111 1111
1000 0000
note:1.分别可以使用八进制(0), 十进制,十六进制标识(0x)
   2.默认的数据类型为int类型 。
3.如果是long类型的值,一般加L或者l作为后缀
 byte:一个字节,占8位
 short: 16位
 int : 32位
 long : 64位
浮点型:float double
0.3
float:32位
double:64位
note:
1.默认类型double
   2.float类型值之后使用f或者F作为后缀
3.double类型值之后默认使用d或者D作为后缀



2.引用类型(类类型/对象类型):
在java中每定义一个类/接口/枚举。都相当于定义了一种数据类型。这种类型称之为引用类型。例如String,System,Date
赋值:一般都是通过new关键字赋值。有一些特殊的类可以不显示的出现new关键,例如String。java中的包装类。
1.String s = new String("abc");
 String s = "abc";

数据类型转换:
1.隐式数据类型转换
小范围往大范围转换

2.显式数据类型转换(强制数据类型转换)
大范围往小范围转换
8     16   16
byte <==> char <==> short
五、变量:
概念:用来表示值有可能发生变化的标识。
语法:[modifer] DataType varName =defaultValue];
note:java中声明的变量必须显式或者隐式的初始化。只有初始化完成的变量才能使用
DateTYpe: 基本数据类型 / 引用类型
出现的位置:局部变量 / 成员变量
局部变量:
1.出现在方法体部,或者时声明在代码块中
2.要求在使用之前必须显式初始化
3.作用范围,就是从声明开始到所在代码块结束
4.在局部变量的作用范围内,不能声明同名的变量
成员变量(类变量(static),实例变量):
  实例变量:依赖于实例对象的存在才存在,才有意义的变量。
   1.定义类体部
2.会自动使用默认的初始值进行初始化,也可以进行显式初始化。
boolean char byte short int long double,float
false '' 0  0.0
引用类型
 null
   3.实例变量的作用范围就是当前类体部所有实例方法(没有加static修饰的方法),在实例变量作用范围之内可以声明和实例变量同名的变量。访问采用就近原则。

六、类和对象:
面向对象的编程
1.万物皆对象
2.对象具有属性和行为
张三这个姑娘,年龄18,身高1.65,体重40kg,平常喜欢唱歌,吃
张三 对象 
属性:性别,年龄,名字,身高,体重
行为:唱歌,吃
3.对象具有状态。有可能通过自身的行为来改变状态
 减肥
张三  40kg  -------  39kg 
4.每一个对象都是唯一的存在。
5.每一个对象都属于某一种类型。都是某一种类型下的一个具体的存在。
类型:抽象的概念,描述的是某一特定范围(就有某些共有特征和行为)的所有的对象的总称。
对象:具体的概念,具体的唯一的存在。是类型下的一个具体的实例


类:抽象的,对具有共有特征和行为的对象的描述,类是对象的模板。
共有特征(属性):变量
共有行为:方法
对象:具体的概念。类的实例(实际存在的一个例子)

编程步骤:
1.抽象类
class Person{
姓名 = value
年龄
性别
。。
方法唱歌行为
吃行为。
}
方法的定义:
modifer returnType meName(DataType param,....){
方法体
}
class Person{
String name;
String gender;
int age;
public void singSong(){
.......
}
public void eat(String food){
String message = "test";
}
}

2.根据类来实例化对象
Person s = new Person();

Person lis = new Person();

3.操作对象的属性和行为。
s.name = "zhangsan";
s.age = 20;
s.gender = "女"
s.singSong();
lis.name
lis.age
lis.gender

七、jvm内存分配
1.代码区
1.常量池:字符串常量
2.静态区域:static
2.栈区:保存方法调用的过程

3.堆区:用来保存构建的对象。

--------------------------
model 3 表达式和流程控制
一、变量:
1.局部变量:
1.定义在方法体部,代码快中
2.要求局部变量在使用之前必须先显示的进行初始化的操作(一定要看见由var=value);
3.作用范围:从声明开始,到所在代码块结束
4.存储位置:栈区
2.实例变量:依赖于实例对象(new)存在才存在的变量
1.定义在类体部方法体外(没有使用static修饰)
2.实例变量如果没有显示的初始化,会自动使用默认的初始值进行初始化:false,0,'',null
3.作用范围:类中所有的实例方法,以及外部类所有权限允许范围
4.访问方式:在当前类中用varName
 外部类对象名.变量名
5.存储位置:堆区(对象在哪里,他就在哪里。对象存在,实例变量就存在,对象小时,实例变量就消失)
二、运算符:
1.算数运算符
+ - * / % 
 note:
1.计算机没办法精确的标识浮点数,所以浮点数的运算可能出现的结果不是特别精确的我们想要的结果,推荐使用BigDecimal,推荐使用传递String值的构造器
2.+ 除了可以执行两个数的+运算之外,如果+前后出现了字符串,可以转换为字符串拼接运算符
   
8.  ++:自增运算符,如果运算符出现再变量之前,那么先将变量值+1,然后再取变量值参与运算。如果出现再变量之后,那么先取 值参与运算,再将变量值+1;
-- :自减运算符,如果运算符出现再变量之前,那么先将变量值-1,然后再取变量值参与运算。如果出现再变量之后,那么先取 值参与运算,再将变量值-1;
int a = 10;
a++ /++a: a = a+1;
int c = a++;先取a的值,然后再将a=a+1; 
   int d = ++a;先将a=a+1,再取a的值
2.比较运算符: 计算结果位true,false
> >= < <= != == instanceof
 a instanceof A:判断a这个对象是否属于A这种类型。
3.位移运算符:
>>:右移,将操作数的二进制形式向右移动n位,低位舍弃,高位按照符号位补全。
5
0000 .... 0101
  0000 .... 01 01
0000 .... 0001 = 1
-5
00000101
11111010
11111011
  11111011
11111110

<<:左移,将操作数的二进制形式整个向左移动n位,高位舍弃,低位补0
  0000 0101
0000 0101
  0001 0100
>>>:无符号右移,将操作数向右移动n位,低位舍弃,高位按0补全
-5
4.位运算符:
& | ^ ~
 & : 只有1&1=1;其它结果都是0
3&5 = 1  
0011
0101
0001
 | : 只用0|0=0;其它结果都时1
10|4 = 14
1010
0100
1110
 ^ : 相同位0,不同为1
3^5 = 6
0011
0101
0110  0110
0011  0101
0101  0011
 ~: ~1 = 0;~0 = 1
~1
5.逻辑运算符:
&  | :既可以作为位运算符有可以作逻辑运算符,无论如何前后两个表达式都一定会执行
&&  ||:只能作为逻辑运算符,提供优化的操作(称之为短路原则):
&&:只要前一个表达式的结果为假,后一个表达式不再参与运算
||:只要前一个表达式的结果为真,后一个表达式不再参与运算。
& &&:要求前后两个表达式结果都为真的时,最后结果才为真。
    | || :只有两个表达式结果都为假的时,最后结果才为假

6.赋值和复合赋值运算符:
= *= += /= %= 。。。。
a = 100; b = 20;
a *= 10;==> a = a*10;
所有的复合赋值运算符都会自动进行数据类型转换。

7.条件运算符
?:
boolean_exp?trueValue:falseValue;

数据类型转换:
基本数据类型转换,引用类型转换,String和基本类型抓换
1.显示数据类型转换
大类型----小类型
byte<==>char<==>short
2.隐式数据类型转换
小类型--大类型
参与计算时:如果既有小类型又有大类型,那么会自动将小类型---》大类型
byte short char在参与运算时都会先转换成int参与运算

三、表达式:
由操作数和操作符按照一定的规则组合而成的序列。
boolean_exp:boolean类型表达式,计算结果位true或者false的表达式。

四、流程控制
1.顺序流程:按照代码的定义顺序执行
2.条件流程: if  else if   else
if(boolean_exp){
block
}  

if(boolean_exp){
A
}else if(boolean_expr2){
B
}

if(boolean_1){
B
}else{ A }

if(boolean_1){
A
}else if(boolean_expr2)....{
B
}else{
C
}
  note:
1.如果if语句后边只有一条代码,那么{}可以省略
2.
例子:根据用户输入的时间,来输出对应的上午好,中午好,下午好,晚上好
3.选择流程:
swith(var){
case value: block [break];
case value2: block [break];
........
[default :] block [break];
}
note:
1.jdk5.0 var可选数据类型byte,short,int,char
2.jdk6.0加入了对枚举的支持
3.jdk7.0加入了对String类型的支持
4.switch所选择的变量会跟case语句后边跟的每一个值都进行匹配,并且匹配规则为从上到下,只要和其中一个case的值匹配上了,那么接下来所有的case值会直接屏蔽。不在匹配,而是直接调用case语句后边的代码快执行。如果匹配上其中一个之后,后边case语句的代码快不想执行,可以在每一个case语句之后使用break跳出当前swtich
5.default语句是当所有的case语句都匹配不上的时才会进行匹配的条件(匹配级别最低)。但是如果default不是出现在最后一个位置,并且所指定的代码块中没有使用break,那么依然会执行case语句的代码块,直达遇见break。
6.default可以出现在任意你想出现的位置。但是一般情况下写在最后一项。
联系:
0 1 2 
使用程序运行时传入的月份和年份来判断当前输入的月份总共由多少天
4.循环过程:
   循环:重复执行某些操作的过程。
   note:
1.循环初始的条件
2.循环执行的条件
3.循环状态的改变(向着循环结束的方向改变)
1.for:
for(init_exp;boolean_exp;change_exp){
loopBlock;
}
note:
 1.for循环的执行过程:init-->boole--->loopBlock-->change--->boolean--->loopBlock--->change--->boolean(直到boolean表达式结果位假)
1+2+3+4....+100
 2.for关键字后的()必须有两个;分割出来三个表达式空间。
3.循环初始条件声明在for循环()中,那么作用范围只有for循环体部。
4.for(int i = 1,j=1;boolean;i++,j++):如果这么写,代表恒成立
5.如果定义的初始条件,本身就不符合循环执行的条件,那么循环体连一次执行机会都没有。
2.while,当型循环,也叫前测试循环,在执行循环体之前先判断条件是否满足循环执行的条件。
1.循环初始条件
while(2boolean_exp){
loopBlock{
3.循环状态的改变
}
}
note:1.如果定义的初始条件不满足循环执行的条件,那么,循环体一次执行机会也没有。
3.do..while:直到型循环。也叫做后测试循环。先执行循环体,然后在判断条件是否满足。无论如何循环体至少有一次执行机会。
循环初始条件
do{
loopBlock{
循环状态的改变
}
}while(boolean_exp);
ceng 4
  c    *         空格
   * 1    1(c*2-1) 3(hang+kong=c)    
  ***       2    3    2
 *****      3    5    1
*******     4    7    0
//控制打印多少行
for(int i = 1;i<=4;i++){
//控制打印的空格个数 4-i
for(int j = 1;j<=4-i;j++){
Systemoutprintln(" ")
}
for(int k = 1 ; k<=2*i-1 ;k++){
System.........(*);
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值