java语言的一个核心:
jdk, java development kits---面向开发人员
jre, java Runtime Environment---服务器上
java虚拟机---(以字节码为指令的CPU)---*.class
java编译器-->字节码-->类加载器进行验证-->虚拟机运行
垃圾回收机制
public class ...{
int a = 1;
}
c/c++垃圾回收由程序员去运行
java编程语言(一门纯面向对象)的特点:
1, 面向对象
封装
继承
多态
2, 安全性
3, 跨平台
配置环境变量:
java_home
classpath
path
public class 类名 {
public static void main(String[] args) {
System.out.println(111);
}
}
需要注意的地方:
类名要与文件名保持一致(完全一样)
标识符:
凡是需要你自己命名的地方, 都叫标识符
java编程严格区分大小写
标识符的命名不能与关键字重复
保留字:goto const
规则:
标识符由字母(大小写), _, $, 并且不能以数字开头
代码规范: 驼峰命名法
String empName
getElementById
java基础数据类型:不能=null;
四类八种:
整数型
byte 2的8次方
short 2的16次方
int 2的32次方
long 2的64次方
浮点型
float
double
布尔型
boolean(只有两个值, true, false)
字符型
char
字符串
String
java引用类型(对象):--可以=null
所有的类
所有的接口
所有的数组
变量的赋值
char c = 'a';
char c = '字';
char c = 98;
char c = '
';
char c = 'u0061';----unicode编码
定义一个整型变量默认为int
long l = 123456;
long l = 88888888888l;
定义一个浮点型变量默认为double
float f = 12.345;
类型转换:
double float long int char short byte
char short byte进行运算的时候, 取值默认为int
隐式转换(低->高), 显式转换(高->低)
运算符:
算术运算符:+ - * / % ++ --
关系运算符:> < >= <= == !=
逻辑运算符:! & && | || ^
位运算符:>> << >>>(无符号右移)
赋值运算符:= += -= *= /= %=
字符串连接运算符:+
需要注意的地方: 在输出的时候, 只要有一个参数是字符串, 整个输出结果都是字符串
三元运算符(表达式)(三目运算符):布尔值?值1:值2
分支循环:
if...
if...else...
if...else if...
if...else if...else...
switch...case...default(可以省略)...
(既然有了if, 为什么还要有switch)
switch是对值的比较(数字, 字符串)
for循环
for(int i=0;i<5;i++)
foreach String[] str = ...
for(String s : str)
break;
终止循环
continue;
退出本次循环, 继续下次循环
String处理:
String str = "..............";
str.indexOf(字符串);//取这个字符串第一次出现的索引位置
str.lastIndexOf(字符串);//取这个字符串最后一次出现的索引位置
str.substring(整数型参数1);//取索引值为这个整数参数后面的字符串
str.substring(整数型参数1, 整数型参数2);//取参数1和参数2之间的字符串(不包括参数2)
例题:1在控制台上输出一个空心正方形
int x = 4; for(int i=1;i<=x;i++){ if(i==1||i==x){ for(int j=1;j<=x;j++){ System.out.print("*"); } }else{ for(int j=1;j<=x;j++){ if(j==1||j==x){ System.out.print("*"); }else{ System.out.print(" "); } } } System.out.println(); }
2.在控制台上输出一个空心菱形
int n = 7; for(int i=1;i<=n;i++){ for(int j=1;j<=n-i;j++){ System.out.print(" "); } for(int k=1;k<=2*i-1;k++){ if(k==1||(k==2*i-1)){ System.out.print("*"); }else{ System.out.print(" "); } } System.out.println(); } for(int l=1;l<=n-1;l++){ for(int o=1;o<=l;o++){ System.out.print(" "); } for(int p=1;p<=2*n-2*l-1;p++){ if(p==1||p==2*n-2*l-1){ System.out.print("*"); }else{ System.out.print(" "); } } System.out.println(); }