标签:布尔 port demo rgs dem new long 括号 定义函数
javaEE eterprition edition 企业版
javaSE standard edition 标准版
dir 列出当前目录
md make dir
rd remove dir
cd change dir
cd .. 回退
cd \ 退到根目录
del 删除文件
环境变量
C:\Program Files\Java\jdk1.8.0_101\bin;
%SystemRoot%\system32;
%SystemRoot%;
%SystemRoot%\System32\Wbem;
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\
以类的形式存在 class
定义类
有主函数
编译 javac
运行 java
public static void main(String[] args)
主函数保证该类的独立运行
System.out.print("hello world");
set classpath = c:\myclass 设定临时class路径
告诉JVM到指定的路径执行该class
若没有配置则到当前的路径查找class文件
set classpath = c:\myclass; 加上;以后,先去指定路径查找,查找不到以后到当前目录找。
set classpath 查看当前class环境变量
关键字 都是小写 类名首字母最好大写 Demo_Test_1
标识符 自定义的一些名称
注释
/**
文档注释。
可以通过javadoc.exe 程序提取的注释
可以生成一个文档
*/
常量:不能改变的数据
布尔常量:true false 两个。
字符常量:‘a‘ ,‘b‘ ,‘5’ 使用单引号‘’标识。
字符串常量"asddds" "a" ""
null 空常量
负数 -> 二进制正数的取反加一。
变量:变化的数据
内存的一个存储区域,该区域有自己的名称(变量名)和数据类型。{内有效}
变量:基本数据类型:
数值型:整数类型 byte(8bit) short(16bit) int(32bit) long(64bit)
浮点类型 float(32bit) double(64bit)
字符型:char(16bit)
布尔型:boolean
默认双精度 double
单精度 float a = 2.3f;
Integer.MAX_VALUE; int 最大值
运算符:
算术运算符 + - * / %%%%%%%(取余数,模运算)
+(连接符) :::任何和字符相连的+号都是连接符,相连接
+= -= *= /=
+= 将 左右两边的和 赋值给左边
比较运算符:== != < > <= >= instanceof 检查是否是类的对象
逻辑运算符: & |
^(异或): 相异为true
!(非)
&&(短路,双与) false&&true 左边是假的左边不运算//与C语言一致
右边也需要运算的情况下用单与 &
位运算符:<< >> >>>>(无符号右移)
三元运算符:(表达式0)? 表达式1:表达式2
判断语句
if()
{
}
else
{
}
{int a = 1;} 出了括号以后变量内存释放 ,最近的括号是作用域
局部代码块可以定义局部变量的生命周期
选择结构:
switch()
{
case 值一:
{语句一;break;}
case 值二:
{语句二;break;}
default:
{语句n;break;}
}
break 语句用于结束switch语句,最好不要省略,在{}最后的break可以。
先执行case ,再执行default
循环语句
while
do while
for
while()
{
}
for(;;) //中间不写 默认为true
contine: 完成当前次数的循环,继续下一次的循环,只在循环结构里面使用。
函数也称 方法
主函数 有修饰符 static
调用函数是静态的。
被调用的也得是静态
static int add(int a, int b)
定义一个函数
修饰符 返回值类型 函数名(参数形式 参数1,参数形式 参数2)
{
return 返回值;
}
void 不返回
函数只能调用函数,不可以在函数内部定义函数
调用栈。。。
重载(overload):重复载入
在同一个类中,允许存在一个以上的同名函数。但两个同名函数的参数个数必须不同,或者参数类型必须不同。
/*
1.同一个类。
2.同名。
3.参数不同,Or 参数类型不同。
4.函数的重载和返回值无关。
5.java 是严谨性语言,如果函数出现调用不确定性会编译失败。
*/
函数名必须体现功能。同样是加法,都取名add
数组
数组是一个容器。从0开始。同一类型。
int[] arr = new int[5];
int[] arr = new int[]{1,2,3};
int[] arr = new int{1,2,4};
new --> 存储实体
arr --> 索引
数组里面的数据自动为0
数组的内存分布
/*
内存划分
1.寄存器 //cpu处理
2.本地方法区 //和所在系统相关
3.方法区 //
4.栈内存 //存储的都是局部变量,凡是定义在方法中的变量。
一旦离开作用域,局部变量就被释放。所以栈内存更新速度很快。
5.堆内存
存储数组和对象。(数组就是一种对象)
对象都是new出来的。都存在堆内存中。堆里面的都是实体。实体用于封装数据。
特点:
1.每一个实体都有一个首地址值。
2.堆内存中的每个变量都有默认初始化值,根据类型的不同而不同(全0?)
arr引用了堆内存的实体。 指向? 指针?
arr 不指向堆内存
arr = null;
没被指向的堆内存的东西变成了垃圾,垃圾会被自动回收(不定时)。
3.垃圾回收机制(内存管理)
*/
运行时 堆内存里的数据才产生。
数组具备的属性:
length
排序:选择排序:第一个和后面的所有比较,最小的会放到最前面。
冒泡排序:相邻两个比较--> 最大的会沉到最底。前面的挨个靠前了。
排序包含:
import java.util.*;
Arrays.sort(); 自动排序。
最快的排序: 希尔排序
有序查找可以用折半查找。
无序只能挨个查找。
二维数组:
int[][] arr = new int[3][2];
-------------------------------------
int[][] arr = new int[3][];
arr[0] = new int[2];
arr[1] = new int[3];
int[][] arr = {{1,2},{,3,4,5},{8,9}};
标签:布尔 port demo rgs dem new long 括号 定义函数
原文地址:http://www.cnblogs.com/jaacharles/p/5988823.html