##JAVA基础
软件:一系列按照特定顺序组织的计算机数据和指令的集合 分为系统软件和应用软件
人家交互方式:
图形化界面:GUI
命令行的方式:
Windows常见的DOS命令:
dir:列出当前目录下的文件以及文件夹
md:创建目录
rd:删除目录
cd:进入指定目录
cd … :返回上一级目录
cd:退回根目录
del:删除文件
exit:退出命令行
echo Java基础>1.txt 写入内容到1.txt中
java是纯面向对象的语言
JavaSE: 桌面应用
JavaEE:企业开发,针对web应用程序
JavaME:支持移动端
javaCard:java小程序运行在内存小的设备上
特点一:面向对象:
类和对象
特性:继承,封装,多态
二:健壮性 相对安全的内存管理和访问机制
三:跨平台:通过java语言编写的应用程序在不同系统上都可以运行:
在操作系统上安装虚拟机,由JVM负责java程序在该系统上运行
java的两种核心机制:
java虚拟机
垃圾收集机制
JDK:java开发工具包 编译工具javac.exe 打包工具 jar.exe
JRE:java运行环境 虚拟机和核心类库
.java文件(源文件) ->javac.exe 编译 -> .class文件(字节码文件) -> java.exe 运行 ->结果
##变量
概念:内存中的一个存储区域,区域有自己的名称(变量名)和类型(数据类型)
注意:先声明后使用
作用域:一个{}
程序的执行过程: :硬盘中的程序:1.加载到内存区,2.找到main方法开始执行 -->操作系统代码 -->3.执行过程中的内存管理
栈stack:局部变量,对象声明的引用
堆heap:new出来的类或数组的实例(含成员变量)
静态域:静态变量
常量池(方法区):字符串变量
基本数据类型:8个
数值型:
整数类型:byte1(-128~127) short2 int4 long8(定义时末尾加L)
浮点类型:float4(声明后加F) double8
字符型
char
布尔型
boolean
引用数据类型
类class
接口interface
数据 []
变量的分类:
- 方法外,类体内的声明变量:成员变量
实例变量 不以static修饰
类变量 static修饰
- 方法体内声明的变量为局部变量
方法局部变量 (方法内声明)
代码块局部变量(代码块中声明)
##变量的自动类型转换和强制类型转换
自动类型转换
char c1 = 'a';
int i3 = c1 +1 ;
结果i3=98
char 和int运算 默认是int类型
short a = 1;
byte b =2 ;
a+b是int类型
int char short 类型之间做运算式int类型
强制类型转换
使用强制类型转换符 (数据类型)
问题:精度的损失
short s = 10
s = s+3;
编译出错 s+3变为int类型 将int类型赋值给short类型,编译不通过
int i=1;
i *=0.1;
打印 i的值 i为0,*0.1变为double类型,再变化就是赋值给int类型
运算符:
instanceOf:检查是否是类的对象
返回true或者false
位运算:
“<<” 左移
“>>” 右移
“>>>>” 无符号右移 不关心符号位 移动直接补0
算术运算
前++ 先+1 后运算
后++ 先运算后+1
##循环遍历的练习
从键盘中输入个数不确定的整数,并判断读入的正数和负数的个数,输入0时结束
import java.util.Scanner;
public class H1 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int a = 0;
int b = 0;
for (;;){
System.out.println("请输入一个整数");
int num = s.nextInt();
if (num>0){
a++;
}else if (num<0){
b++;
}else
break;
}
System.out.println("正数个数:"+a+",负数个数:"+b);
}
}
循环打印
*
* *
* * *
* * * *
* * * * *
* * * *
* * *
* *
*
/*
打印菱形
固定数 五行 0~4 i<4 空格是 4-i *号是 i+1
----*
---* *
--* * *
-* * * *
* * * * *
i k- j* k = 4 - i j = i + 1
0 4 1
1 3 2
2 2 3
3 1 4
4 0 5
-* * * *
--* * *
---* *
----*
i k- j* k = i + 1 j = 4 - i
0 1 4
1 2 3
2 3 2
3 4 1
*/
public class H1 {
public static void main(String[] args) {
//上半部分:
for(int i = 0;i < 5;i++){
for(int k = 0;k < 4 - i;k++){
System.out.print(" ");
}
for(int j = 0;j < i + 1;j++){
System.out.print("* ");
}
System.out.println();
}
//下半部分
for(int i = 0;i < 4;i++){
for(int k = 0;k < i + 1;k++){
System.out.print(" ");
}
for(int j = 0;j < 4 - i;j++){
System.out.print("* ");
}
System.out.println();
}
}
}