JAVA-基本知识
1.JAVA跨平台
其实就是在每个平台上要安装对应该操作系统的JVM,JVM负责解析执行,即实现了跨平台。JVM是操作系统与java程序之间的桥梁。
2。JRE:java运行环境,包含JVM+核心类库,运行一个java程序,只需JRE就可以了。
JDK:java开发工具包,包含java开发工具+JRE,所以安装了JDK就可以不用再安装JRE了。
java开发工具包包含:编译工具(javac.exe),打包工具(jar.exe)
即:使用JDK开发完java程序,交给JRE运行。
3. DOS命令行
1.进入到E盘 e:
2.列出e盘下的文件目录 dir
3.在e盘中进入到某个文件夹,用cd 文件夹名 (可以使用cd jdk* 来匹配文件名)
4.返回上一级目录 cd..
5.返回e盘根目录 cd\
6.md abc 在e盘根目录创建文件夹abc
7.删除文件夹 abc rd abc 注意这样删除文件夹必须确保abc文件夹是空的,如果abc有内容,则删不掉,为了保护数据,防止误删。
其实Windows的删除文件夹,内部也是先删里面的文件,在删除文件夹。只不过微软封装起来了。
8.删除文件是del a.txt 全部删除是del * 注意:rd是删除文件夹,del是删除文件
9.exit 退出DOS命令行
10.help 可以查看所有命令
help cd 查看 cd 命名用法
4. 环境变量
javac.exe只能在jdk安装目录的bin下才能执行,其他路径找不到javac.exe,如果想要在任何路径下都能执行javac,必须配置环境变量。
如在命令行窗口的d盘符下输入notepad,首先会在d盘搜索notepad.exe,如果找不到,会到系统的环境变量path路径里去寻找有没有notepad.exe。如果还找不到就会报错。
环境变量path中存储的是系统中各应用程序的路径。
javac -version查看运行版本
临时环境变量设置:
可以把jdk的安装目录拷贝到U盘中,插到别的电脑中运行,此时只需要设置临时环境变量就可以运行。
1.打开cmd
2.set,可以查询系统中的所有环境变量
3.set path 查看path环境变量里的值
4.set path=H:\Program Files\Java\jdk1.8.0_74\bin 把系统环境变量path的值修改为当前值,注意:只在当前命令行窗口有效,也就是临时环境变量设置
set path=H:\Program Files\Java\jdk1.8.0_74\bin;%path% 在原来path的基础上追加新的路径
5. *. java文件通过javac.exe编译成 *.class字节码,然后通过java.exe运行程序
6.classpath 类似path设置
classpath是告诉系统在该路径下查找 *.class文件去执行,如果不设置classpath,必须到class类文件下才能执行,否则报错,找不到类文件
path是告诉系统javac 所在的路径
set classpath=.;d:\myclass; . 是指cmd命令行盘符所在的路径
set classpath=.;%classpath%;
7. break :跳出switch语句或者循环(循环不再执行了),break只能用于switch语句或者循环语句中。
break语句后面不能有其他语句,不然会报错。会报告有无法访问的语句。
注意:如果是循环嵌套,break只作用于最近的那个循环。即break只跳出当前循环,如果想要跳出外层的循环,可以给循环加个名字,break 名字 结束指定的循环。
continue:结束本次循环,继续下一次循环。如果continue后面有其他语句,也不会执行,
8. 内存的划分
1.寄存器 :CPU来操作处理
2.本地方法区:和所在系统相关的
3.方法区:
4.堆内存:存储的是数组和对象,数组也是对象,即凡是new建立出来的对象都在堆内存中。
1。堆内存的变量都会默认初始化,整数初始值为0,
2。每一个实体都有首地址 ,该地址值一般会赋值给栈内存的变量,即栈内存变量指向该地址,如果没有变量指向该地址,这块内存就会成为垃圾,将会被回收。
3.垃圾回收机制 内存管理
5.栈内存:存储的都是局部变量,而且变量所处的作用域一旦结束,该变量就会自动释放,生命周期都比较短。
栈内存的变量不会初始化,不赋值就操作会报错。
注意:javac Test.java 编译只是检查语法问题,不会分配内存空间,分配空间是运行时分配的,即java Test 才分配内存空间。
9.
数组定义格式1:
int [] arr=new int[3];//不明确数组里的数据时候用
数组定义格式2://数组里的数据已确定时用
int [] arr=new int[]{14,55,44};
int [] arr={14,55,44};
10.
/*
冒泡排序。
*/
public static void bubbleSort(int[] arr)
{
for(int x=0; x<arr.length-1; x++)
{
for(int y=0; y<arr.length-1-x; y++)
{
if(arr[y]>arr[y+1])
{
int temp = arr[y];
arr[y] = arr[y+1];
arr[y+1] = temp;
}
}
}
}
/*
选择排序。
*/
public static void selectSort(int[] arr)
{
for(int x=0; x<arr.length-1; x++)
{
for(int y=x+1; y<arr.length; y++)
{
if(arr[x]>arr[y])
{
int temp = arr[x];
arr[x] = arr[y];
arr[y] = temp;
}
}
}
}
/*
二分查找法(折半查找)。前提必须是有序数组
有序的数组可以使用二分查找,无序的数组不能使用,更不能对无序数组先排序后使用二分查找,因为无序数组排序后,角标已经变化了,查找出来的角标也不正确了。、
无序的数组,可以直接循环数组判断即可。
一般数组是有序的,而且涉及到查找,一般使用二分查找法。
*/
public static int halfSearch(int[] arr,int key)
{
int max,min,mid;
min = 0;
max = arr.length-1;
mid = (max+min)/2;
while(arr[mid]!=key)
{
if(key>arr[mid])
min = mid + 1;
else if(key<arr[mid])
max = mid - 1;
if(max<min)
return -1;
mid = (max+min)/2;
}
return mid;
}
JAVA-基本知识的更多相关文章
- Java基础知识(壹)
写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...
- java基础知识小总结【转】
java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...
- Java基础知识系列——String
最近晚上没有什么事(主要是不加班有单身),就复习了一下Java的基础知识.我复习Java基础知识主要是依据Java API和The Java™ Tutorials. 今天是第一篇,复习了一下Strin ...
- 学习Spring必学的Java基础知识
[1] Java反射知识-->Spring IoC :http://www.iteye.com/topic/1123081 [2] Java动态代理-->Spring AOP :http: ...
- 学习android学习必备的java基础知识--四大内部类
学习android必备的java基础知识--四大内部类 今天学习android课程,因为我的主专业是JAVA,但是兴趣班却有这其他专业的同学,学习android 需要具备一些java的基础知识,因此就 ...
- JAVA基础知识之网络编程——-网络基础(Java的http get和post请求,多线程下载)
本文主要介绍java.net下为网络编程提供的一些基础包,InetAddress代表一个IP协议对象,可以用来获取IP地址,Host name之类的信息.URL和URLConnect可以用来访问web ...
- java基础知识梳理
java基础知识梳理 1 基本数据类型
- java基础知识回顾之---java String final类普通方法
辞职了,最近一段时间在找工作,把在大二的时候学习java基础知识回顾下,拿出来跟大家分享,如果有问题,欢迎大家的指正. /* * 按照面向对象的思想对字符串进行功能分类. * ...
- java基础理论知识的一些总结
在学习Java初期,由于我们是刚开始接触Java,我们不仅需要牢牢掌握Java的基础理论知识,来为我们后面对Java更深层次的学习打好基础,而且我们需要养成编程人的思想习惯.来我们一起来探索Java基 ...
- Java 基础知识(一)
Java基础知识篇: 一.关键字解释 1. final:修饰非抽象类,非抽象方法和属性, 以及修饰方法参数,代表“无法改变的”.出于对设计或者效率的考虑使用该关键字. final类无法被继承,fina ...
随机推荐
- 6、Web应用程序中的安全向量 -- customErrors(适当的错误报告和堆栈跟踪)
几乎所有的网站在开发过程中都在web.config文件中设置了特性<customErrors mode="off">. customErrors模式有3个可选的设置项: ...
- NSCondition
一.NSCondition是对条件变量和互斥量的一个封装,用于线程之间的同步. 其中的互斥量用于保护对条件变量的修改,条件变量变化以信号量的方式通知其它线程实现线程之间的同步. 二.NSConditi ...
- VLAN学习
IEEE于1999年颁布了标准化VLAN实现方案的 IEEE 802.1Q 协议标准草案,对带有VLAN标识的报文结构进行了统一规定. 传统的以太网数据帧在目的MAC和源MAC地址之后封装的是上层协议 ...
- MySQL 的一个Bug?
在 my.ini 中的 [mysqld] 段设置 mysql basedir 和 datadir,如下: #Path to installation directory. All paths are ...
- java的克隆
java有深拷贝和浅拷贝的区别. 浅拷贝:他是指拷贝该对象时,仅仅是拷贝了对象的本身(包括对象的基本数据类变量),不会拷贝引用数据类型的变量,也就是拷贝出来的新对象基本数据类型的值不变,引用数据类型的 ...
- 设正整数n的十进制表示为n=ak……a1a0(0<=ai<=9,0<=i<=k,ak!=0),n的个位为起始数字的数字的正负交错之和T(n)=a0+a1+……+(-1)kak,证明:11|n的充分必要条件是11|T(n);(整除理论1.1.2))
设正整数n的十进制表示为n=ak……a1a0(0<=ai<=9,0<=i<=k,ak!=0),n的个位为起始数字的数字的正负交错之和T(n)=a0+a1+……+(-1)kak, ...
- 转载-ACPI的知识
ACPI – the Advanced Configuration & Power Interface. ACPI是OS,BIOS和硬件之间的抽象层.它允许OS和平台独立的发展,比如新的OS可 ...
- iOS不可变字符串的所有操作
可以直接复制代码即可运行看看结果,方便理解 //NSString //OC字符串不能用printf输出 //但是遗憾的是OC没有一个从终端读取数据的方式,需要使用scanf读取C字符串然后转换成OC的 ...
- Android测试日志文件抓取与分析
1.log文件分类简介 实时打印的主要有:logcat main,logcat radio,logcat events,tcpdump,还有高通平台的还会有QXDM日志 状态信息的有:adb shel ...
- VBS脚本代码(手工编写---在windows 7上调用系统对话框,来选择文件)
'=========================================================================='' VBScript Source File - ...