编写、运行Java程序需要那些步骤?
答:编写→保存→编译(javac test.java
)→执行(java test
)
tomcat是一个开源、免费的JSP服务器,并提供Web服务器的一些特有功能。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。
什么是集群?什么是分布式?什么又是SOA?
Java语言的特点
简单、面向对象、分布式、体系结构中立、可移植、解释型、高性能、多线程、动态的
基本数据类型
逻辑类型
分为常量(true、false)和变量(使用关键字Boolean声明)
整数类型
- int型:分为常量和变量,内存分配4字节,占32位
- long型:分为常量和变量,内存分配8字节,占64位
- byte型:无常量,内存分配1字节,占8位
- short型:无常量,内存分配2字节,占16位
字符类型
分为常量和变量,使用char声明,内存分配2个字节,因为没有-char,所以最高位不是符号位,char声明后存的是字符在Unicode中的排序位置,所以char x = 'a';
和char x = 97;
一样,可以使用(int)x
查看x变量对应的字符在Unicode中的位置,反过来可以使用(char)x
查看x对应位置在Unicode中代表的字符
对于某些特殊字符无法键盘输入,所以需要使用转义字符,比如回车符、
换行符\n
、退格\b
、水平制表\t
、单引号\'
、双引号\"
、反斜线\\
浮点类型
- float型:分配4个字节,常量后边需要有后缀f或F,在存储时保留8位有效数字,实际精度取决于具体数值。
- double型:分配8个字节,常量后边可以有后缀d或D,允许省略,在存储时保留16位有效数字,实际精度取决于具体数值。
类型转换
从低级到高级系统会自动隐式完成转换,从高级到低级必须显式转换,比如float转换为int型int x = (int)23.44;
常见错误:把double赋给float未进行转换,把int型赋给一个byte或short变量时未进行转换,(即使进行了转换也会导致精度的损失)
基本输入输出
Scanner
类 创建一个新对象reader,调用nextInt()等函数从命令行进行输入println()
、print()
、printf()
:其中printf是新增的,同C语言类似。
数组
- Java不允许在声明数组方括号[ ]中指定数组元素的个数,但是允许在创建数组时通过变量指定数组元素个数。
- 创建数组:在声明数组之后为其分配内存空间即为创建数组,如
数组名
- 数组索引从0开始
- 数组名.length属性
- 数组初始化默认为0,也可以在声明的同时给数组一个初始值。
运算符优先级
优先级 | 运算符 | 运算 | 结合关系 |
---|---|---|---|
1 | + | 单目取正 | 自右向左 |
1 | - | 单目取负 | 自右向左 |
2 | * | 乘 | 自左向右 |
2 | / | 除 | 自左向右 |
2 | % | 取余 | 自左向右 |
3 | + | 加法 | 自左向右 |
3 | - | 减法 | 自左向右 |
3 | + | 字符串连接 | 自左向右 |
4 | = | 赋值 | 自右向左 |
注意点
- 类名应该大写,若类名由多个单词组成,则每个单词首字母应该大写
- Java大小写敏感