java概述~至数组

java概述

1. Java是gaosiling开发的编程语言

2. Java的三种架构是:

  • JavaEE :java PlatForm Enterprise Edition企业级开发应用
  • JavaSE :Java Platform Standard Edition 标准版的应用开发平台
  • JavaME: Java Platform Micro Edition 微小板的应用开发平台

3. jre和jdk的关系

  • jdk: java Development Kit = jre+kit
  • jre: java runtime enviroment
    4.为什么要配class,和classPath

 配置classpath后那么Java虚拟机会再指定的文件夹目录下查找配置文件
 path是设置dos命令下面的命令要去哪里查找。而Java如果没有配着环境变量, 那么再dos窗口下输入javac命令就会报错

java语法基础

  1. 关键字:就是Java赋予特殊含义的单词
  2. 标识符: 就是程序中自定义的名词。比如:类名,变量名,函数名
  • 数字不可以开头
  • 不可以使用关键字
  • 由数字, 字母, $, 下划线 组成
  1. 常量: 是指再程序中不会变化的量
  2. 变量:内存中的一个存储空间 ,用于存储常量数据。
  • 作用: 方便于运算。 因为有些数据不确定。所以确定数据的名词(变量名)和变量名上的存储空间
  • 特点:变量空间可以重复使用
  • 什么时候定义变量: 只要数据不确定的时候就可以定义变量

5. 变量需要什么?

  • 变量类型, 变量名称, 变量初始化

6.变量的作用域和生命周期:

作用域: 开始在定义的位置开始, 到最近的大括号结束。
离开作用域,未必会被清理,因为内存未必会满, 所以垃圾回收器未必会被调用

7. 运算符号:

  • 算术运算符:+ - * / %
  • 连接符号: +
  • 赋值运算符: =
  • 比较运算符:
    特点: 结果要么是true要么是false
  • 逻辑运算符:& | ^ ! && ||

8. & 和&&:

  &不论左边结果什么,右边都将参与计算,而&& 如果左边为假,右边不参加计算。 | 和|| 的区别:与上面类似,换成左边为真

9.控制语句:

if, switch, do...while, while, for
if在判断固定值的时候用。
switch在判断多个值的时候用。
do...while是先执行后判断循环条件的循环。
while是先判断后循环
for是由下标进行控制循环的次数

ps: switch中有一个default:不论在什么时候它默认都会执行。

10. break,continue,retrun的区别:

continue跳出一层循环, break跳出所有循环, return跳出方法

  1. 函数: 为了提高代码的复用性,可以将其定义成一个单独的功能

定义格式:

执行语句;
return 返回值;
}

函数作用:

  • 定义功能
  • 用于封装代码提高代码的复用性。

主函数:

  • 保证该类的独立运行
  • 因为它是程序的入口
  • 它可以在类中进行测试。

函数定义名称是为什么?

  • 为了对该功能进行标识
  • 为了通过名称就可以明确函数的功能, 提高代码的阅读性。

12. 重载的定义是:

  • 在一个类中, 函数名称相同, 但是函数签名不同, 则被称为重载。

13. 数组:

用于存储同一类型的数据的容器
好处: 可以通过下标操作一组数据

元素类型[] 变量名 = {元素1, 元素2, 元素3}
元素类型[] 变量名 = new 元素类型	{元素1, 元素2, 元素3...}
//二分查找法:
public static int halfSeacher_2(int[] arr, int key)
int min, max, 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;
	}
}
//选择排序,选最小的放在左边
for(int i = 0;i<arr.length;i++){    
  for(int j= 1 ; j<arr.length;j++){
      if(arr[j-1]>arr[j]){
          int temp = arr[j];
          arr[j] = arr[j-1];
          arr[j-1] = temp;

      }
 }
}
//冒泡排序
for(int i=0; i<arr.length-1;i++){
	for(int j=0; j<arr.length-1-i; j++){
		int temp = arr[j];
		arr[j] = arr[j+1];
		arr[j+1] = temp;
    }
}
		

4个内存相关, 一个重要术语(java思想中的):

方法区:
    方法区主要存储一些静态数据(比如string类型,方法区中有个静态常量池,一般用String a = "xxx"格式的时候就会存在里面,这个时候String b = "xxx",会直接用存在常量池里面的值, 于是所以String a, b都等于同一个数值,比较起来也会是为true)
堆: 存放引用数据
堆栈:基本数据类型都在里面
本地方法栈: 对应native方法-》java 中会用本地方法访问c或者c++语言
程序计数器: 类似计算机中的程序计数器 用于计数, 其很重要, 详解可以了解 汇编语言等其他书籍都有提到

posted @ 2017-11-29 19:04  老螃蟹  阅读(171)  评论(0编辑  收藏  举报