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. 标识符: 就是程序中自定义的名词。比如:类名,变量名,函数名

    • 数字不可以开头
    • 不可以使用关键字
    • 由数字, 字母, $, 下划线 组成
  3. 常量: 是指再程序中不会变化的量
  4. 变量:内存中的一个存储空间 ,用于存储常量数据。

    • 作用: 方便于运算。 因为有些数据不确定。所以确定数据的名词(变量名)和变量名上的存储空间
    • 特点:变量空间可以重复使用
    • 什么时候定义变量: 只要数据不确定的时候就可以定义变量
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. 数组:

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

元素类型[] 变量名 = new 元素类型[元素个数] 元素类型[] 变量名 = {元素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++语言
程序计数器: 类似计算机中的程序计数器 用于计数, 其很重要, 详解可以了解 汇编语言等其他书籍都有提到

转载于:https://www.cnblogs.com/jwlxtf/p/7922231.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值