T-1-java语言基础

一、Linux的由来和发展
  1. Linux是开源的操作系统
  2. Linux是服务器端的操作系统
  3. java主要用于服务器端
二、Linux目录结构(与Windows不同)
  1. 文件系统不同:Windows是盘符,Linux是目录。
  2. 外部设备映射不同:Windows是盘符,Linux挂载点。
  3. 安全级别不同:Linux的安全级别更高。
三、相对路径和绝对路径
  1. 相对路径:文件或目录相对于当前目录的位置。
  2. 绝对路径:文件或目录相对于根目录的位置。
四、java开发环境
  1. Java能够实现跨平台
  2. 不同平台有不同的JVM。JVM是运行在操作系统之上的软件。
  3. java源程序通过编译成字节码文件(.class),由JVM加载字节码文件并运行。
五、JDK,JRE,JVM的关系
  1. JVM为java虚拟机。
  2. JRE为java运行环境,提供了运行java程序所需要的环境,包含JVM和java的类库。
  3. JDK为java开发工具包,除了包含JRE之外,还包含开发java程序所需要的编译运行工具。
  4. 运行java最小需要JRE,开发java最小需要JDK。
六、Eclipse IDE
  1. IDE为集成开发环境,是专为程序员提供的应用软件。
  2. Eclipse是目前主流的IDE,是IBM公司的开源IDE,下载后直接解压即可运行。
  3. Eclipse是用java语言编写的,所以要先安装JDK才能使用。
七、环境变量的意义和配置
  1. JAVA_HOME:该变量的值就是java所在的目录,一些java版的软件和一些java工具(Eclipse/NetBeans/Tomcat)需要用到该变量,设置PATH和CLASSPATH的时候,也可以使用该变量以方便设置。
  2. PATH:作用是指定命令搜索路径,在shell下执行命令时,它会到PATH变量所指定的路径下查找看是否能找到相应的命令程序,我们需要将JDK安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件,如:javac/java/javadoc等等。
  3. CLASSPATH:也制定一个路径列表,是用于搜索java编译或者运行时需要用到的类,在CLASSPATH列表中除了可以包含路径外,还可以包含.jar文件,java查找类时会把这个.jar当成一个目录来查找。通常我们需要把JDK安装路径下的jre/lib/tools.jar(Linux:jre/lib/tool.jar)包含在CLASSPATH中。
  4. 环境变量的配置:计算机->属性->高级系统设置->高级->环境变量->系统变量,或通过cmd命令窗口直接set
JAVA_HOMEjava的安装路径
PATH%JAVA_HOME%\bin
CLASSPATH%JAVA_HOME%\lib
八、变量
  1. 变量指代内存中开辟的空间,用于存储数据。
  2. 使用变量前,必须声明。
  3. 语法:数据类型 变量名。
  4. 一条语句中可以声明多个变量,中间用逗号分隔(注意类型必须相同)。
  5. 变量使用之前必须初始化(第一次赋值),初始化有两种方式:(1)声明同时初始化,(2)先声明再初始化。
  6. 可以对变量进行各种操作,但必须与它的数据类型匹配。
九、标识符
  1. 标识符是用于区分名字的符号。
  2. 可以由字母、数字、下划线和“$“等组成,并且不能以数字开头。
  3. java严格区分大小写。
  4. 不能使用关键字。
  5. 最好能见名知意,采用“驼峰命名法”(第一个单词首字母小写,其余单词首字母大写)。
十、八种基本类型
  1. 整数类型:byte(1b), short(2b), int(4b), long(8b)
  2. 浮点类型:float(4b), double(8b)
  3. 字符型:char
  4. 布尔型:boolean
十一、整数类型
  1. 直接量就是直接写出来的数。
  2. 整数的直接量类型默认是int。
  3. 整数的直接量必须在int的区间之内(-2^31~2^31 -1)。
  4. 整数之间的运算,结果还是整数,两数相除只取整。
  5. 整数运算超出范围会发生溢出,应当尽量避免,正数溢出变成负数,负数溢出变成正数。
  6. 如果int的范围不够,就用long类型,long类型直接量末尾加L。
  7. 整数运算,超过int范围,应将其中一个数加L。
  8. 运算时,以最大类型作为整个运算结果的类型。
十二、浮点类型
  1. 一般使用double来保存浮点数。
  2. 小数的直接点为double类型,若想表示float型的直接量,应加f或F。
  3. double无法精确表示0.1(二进制无法表示),所以double运算会出现舍入误差。
十三、char类型
  1. 字符型采用Unicode编码,Unicode为世界通用码。
  2. 字符型实质上是整数,也就是字符所对用的码。
  3. 一个char型中,只能装一个字符。
十四、boolean类型
  1. boolean只能存储true或false。
  2. 常用于存储关系运算的结果。
十五、基本类型间的转换
  1. 两种转换方式:(1)自动类型转换(隐式类型转换),从小类型到大类型可以自动完成,byte->short->int->long->float->double。(2)强制类型转换,从大类型到小类型需要强制类型转换符,语法:(需要转换成的类型) 变量
  2. 强转时,有可能发生溢出或精度丧失,应尽量避免。
  3. byte,short,char可以存储整数直接量,但运算时一律转换成int。
十六、算术运算
  1. 加(+),减(-),乘(*),除(/),取余(%),自增(++),自减(--)
  2. “++”为自增运算,表示其本身加1.
  3. “++”在前或在后,当使用时作用不同,直接操作时作用一样。
  4. “++”在前,先自增再使用,“++”在后,先使用再自增。(这里的“使用”指,赋值或输出)。
十七、关系运算
  1. 大于(>),小于(<),大于等于(>=),小于等于(<=),等于(==),不等于(!=)
  2. 关系运算的结果为boolean型。
十八、逻辑运算
  1. 与(&&),或(||),非(!)
  2. 逻辑运算的结果也是boolean型。
  3. “&&”运算,两边都为真时,为真。
  4. “||”运算,有一边为真时,为真。
  5. “!”运算,非真则假,非假则真。
  6. “&&”和“||”有可能发生短路。当第一个数为false时,“&&”不再等第二个数;当第一个数为true时,“||”不再等第二个数。
十九、赋值运算
  1. “=”,“+=”,“-=”,“*=”,“/=”,“%=” (扩展赋值运算)
  2. “=”用作赋值运算,赋值运算本身也有值。
  3. 建议使用扩展赋值表达式:(1)a=a+5; //取出a的值加5后再赋值给a(2)a+=5; //在a值的基础上直接加5
二十、字符串拼接运算
  1. “+”有一边为字符串,则做拼接,返回String类型。
二十一、条件运算(三目运算)
  1. boolean  表达式?表达式1:表达式2
二十二、三种基本分支结构
  1. 顺序、分支、循环
  2. if语句:当if语句块中只有一条语句时,可以省略{},但是不建议省略。
  3. if else 语句
  4. else if 语句:当条件分支大于2时,考虑使用else if结构实现。
  5. switch case语句:(1)switch case语句用于实现多分支。(2)switch后跟的是整数表达式,case后跟的整型的常量。(3)执行逻辑是,从第一个case开始比,相等即为入口。(4)常与break配合,使用break跳出switch语句。(5)建议,当事件超过3条分支,并使用整数表达式时,建议使用switch-case,结构清晰。
二十三、循环结构
  1. 循环三要素:(1)循环变量初始化。(2)循环的条件(以循环变量为条件-boolean)。(3)循环变量的改变(向着循环结束改变)。
  2. breakf放在循环中,可以退出循环,常和if语句配合使用。
  3. while语句
  4. do-while语句:先do再判断,为真时再do,再判断,直到条件为false。
  5. 当循环变量的初始化与循环变量的改变一样时,考虑使用do-while。
  6. for语句:(1)for三个表达式都可以省略,但是分号不能没有。不建议省略第二个,因为容易造成死循环。(2)for语句的第一个表达式和第三个表达式,可以使用逗号。(3)break用于循环体中,可以跳出循环。(4)continue只能用于循环体中,作用为跳过循环体中剩余语句而进行下一次循环。可以用if-else代替。
二十四、有关循环问题
  1. “当……的时候,干……事”,最好用while解决。
  2. “直到……的时候,干……事”,用do-while。
  3. 固定次数用for。
  4. 当有行有列时,需要使用嵌套循环。嵌套时,外层执行一次内层执行所有次。
  5. break只能跳出一层循环。
  6. 建议循环嵌套层次越少越好,超过三层说明程序设计有问题。
二十五、程序=数据结构+算法
  1. 算法:解决问题的步骤(顺序/分支/循环)。
  2. 数据结构:将数据按照特定的结构来存储。
  3. 好的数据结构一定会导致好的算法的产生。
二十六、数组
1.   数组的定义
方法一:char[] c = new char[5];
方法二:char[] c;   c=new char[]{‘a’,’b’,’c’};
方法三:char[] c = {‘a’,’b’,’c’};  //只适用于声明同时初始化(静态赋值)
2.   数组是引用类型。
3.   new之后,数组元素是有初始值的:int型(0),double型(0.0),boolean型(false),char型(空字符),引用类型(null)
4.   访问数组元素通过数组下标(从0~length-1)
5.   数组的复制
(1)System.array.copy(原数组,原数组中开始下标,目标数组,目标数组开始下标,复制的长度);
(2)Array.copyOf(原数组,截取的长度); //截取的长度小于原数组的长度则截取,大于则扩容
6.   数组的排序
(1)常用的排序算法:插入排序,冒泡排序,快速排序
(2)冒泡排序算法:第一次找到所有元素中最大的放在最后一个位置上,不再变动;第二次找到剩余所有元素中最大的放在倒数第二位置上,不再变动;以此类推,直到排序完成。
(3)数组冒泡排序算法的封装:Arrays.sort(数组);
二十七、方法
  1. 用于封装一段特定的逻辑功能,可以在程序中反复被调用,可以减少代码重复,便于程序的维护。
  2. 方法应尽可能地独立。
  3. 方法中定义参数,可以使该方法更灵活。
  4. 方法声明返回值类型,可使该方法返回一个结果,没有返回值用void。
  5. 调用方法时,方法有参则必须传参,且类型匹配。若方法有返回值,调用时最好接收。
  6. return的作用是,返回控制权给调用方,两种写法:(1)return 值; (2)return;

转载于:https://www.cnblogs.com/zhuyj/p/10367860.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/365690.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

点云数据显示_vispy 显示 kitti 点云数据

国内博客找了一圈&#xff0c;居然没有发现有用 vispy 做可视化的代码&#xff0c;这里做一个简单的示例&#xff0c;代码大部分来自官方。import numpy as np import vispy.scene from vispy.scene import visuals import sys# Make a canvas and add simple view canvas vis…

python函数定义关键字_Python(2)深入Python函数定义

在Python中&#xff0c;可以定义包含若干参数的函数&#xff0c;这里有几种可用的形式&#xff0c;也可以混合使用&#xff1a;1. 默认参数最常用的一种形式是为一个或多个参数指定默认值。>>> def ask_ok(prompt,retries4,complaintYes or no Please!):while True:ok…

稳定婚姻(tarjan)

传送门 这道题一开始可能以为是二分图匹配……&#xff1f;不过后来发现和二分图没啥大关系。 简单分析之后发现&#xff0c;把夫妻之间连边&#xff08;男性向女性连边&#xff09;&#xff0c;之后再将每对曾经是情侣的人连边&#xff08;女性向男性连边&#xff09;&#xf…

Webpack 常用命令总结以及常用打包压缩方法

前言&#xff1a;Webpack是一款基于node的前端打包工具&#xff0c;它可以将很多静态文件打包起来&#xff0c;自动处理依赖关系后&#xff0c;生成一个.js文件&#xff0c;然后让html来引用&#xff0c;不仅可以做到按需加载&#xff0c;而且可以减少HTTP请求&#xff0c;节约…

在Spring MVC Web应用程序中添加社交登录:单元测试

Spring Social 1.0具有spring-social-test模块&#xff0c;该模块为测试Connect实现和API绑定提供支持。 该模块已从Spring Social 1.1.0中删除&#xff0c;并由 Spring MVC Test框架替换。 问题在于&#xff0c;实际上没有有关为使用Spring Social 1.1.0的应用程序编写单元测…

CSS3 Filter详解(改变模糊度 亮度 透明度等方法)

文章目录 1.模糊2.灰度3.亮度4.对比度5.饱和度6.色相旋转7.反色8.阴影9.透明度10.褐色CSS3 Filter&#xff08;滤镜&#xff09;属性提供了提供模糊和改变元素颜色的功能。CSS3 Fitler 常用于调整图像的渲染、背景或边框显示效果。 -webkit-filter是css3的一个属性&#xff0c;…

laravel中使用offsetSet

首先不用offsetSet方法&#xff0c;使用laravel的硬添加属性如下&#xff1a; 下边使用offsetSet 转载于:https://www.cnblogs.com/qaing123/p/9672241.html

python做自动化控制postman_使用postman+newman+python做接口自动化测试

postman是一款API调试工具&#xff0c;可用于测试接口&#xff0c;相类似的工具还有jmeter、soupUI。通过postmannewmanpython可以批量运行调试接口&#xff0c;达到自动化测试的效果。1、PostMan安装共有两种方式&#xff0c;一种是chrome浏览器上的插件&#xff0c;一种是pos…

转3d视图快捷键_最全Solidworks快捷键,值得收藏!

SOLIDWORKS软件提供了很多实用的快捷键&#xff0c;如果我们熟练掌握这些快捷键无疑可以减轻工作强度和提高工作效率。当然我们也可以点击【工具】-【自定义】-【键盘】&#xff0c;自己定义一些快捷键。本文为大家整理一些常用的快捷键&#xff0c;多使用快捷键可以帮助我们节…

构建前端自动化工作流环境

目标&#xff1a;建一个自动化工作流环境 自动编译 自动合并 自动刷新 自动部署 工作流&#xff1a; 1 全局安装webpack 执行命令&#xff1a; npm install webpack webpack-cli -g 其中webpack-cil 是命令接口工具 2 初始化当前项目&#xff1a;npm init 然后一路回车…

大型布线:Java云应用程序缺少的技术

您是否曾经想过&#xff0c;为什么大多数Java框架中的依赖项注入仅用于本地进程内服务而不是分布式服务&#xff1f; 我最近在2013年EMC世界大会上遇到了Paul Maritz的主题演讲 &#xff08;跳至第32分钟&#xff09;&#xff0c;这使我在云平台的背景下思考了这个问题。 主题…

【单镜头反光相机】CCD、CMOS

CCD、CMOS&#xff1a;图像传感器、电荷耦合器 CCD简介CMOS简介&#xff1a;①被动式 &#xff0c;被动式像素结构&#xff08;Passive Pixel Sensor.简称PPS&#xff09;&#xff0c;又叫无源式。 ②主动式&#xff0c;主动式像素结构&#xff08;Active Pixel Sensor.简称APS…

CSS-定位

CSS定位&#xff1a;相对定位 position: relative 参照物&#xff1a;相对元素原来的位置进行偏移。绝对定位 position:absolute 参照物&#xff1a;往上级元素逐层查找&#xff0c;直到找有position属性的元素&#xff0c;以有position属性的元素为参照物来偏移&#xff0c…

java面向对象中的抽象,类与对象

一、抽象 什么是抽象&#xff1f;将鸽子和麻雀看做是鸟&#xff0c;这是抽象&#xff1b;将整个空调的行为用遥控代替&#xff0c;遥控就可以看做是空调的抽象&#xff1b;将外貌&#xff0c;种族&#xff0c;语言等等形形色色不同的个体看做是人这样一个概念&#xff0c;这也是…

剑灵系统推荐加点_剑灵重制修炼系统 无定式加点打造自我风格

这将是《剑灵(和“标准答案”说再见我们经常可以在论坛中看到类似“求刺客副本修炼”这样的帖子&#xff0c;也有很多热心玩家分享他们的点法。而在这些“标准答案”中&#xff0c;我们又可以经常看到类似“A、B、C必点&#xff0c;剩下的3点修炼随意”这样的论调。但其实这些并…

使用Guava对并发应用程序进行基于对象的微锁定

编写并发Java应用程序时最令人讨厌的问题之一是对线程之间共享的资源的处理&#xff0c;例如Web应用程序的会话和应用程序数据。 结果&#xff0c;如果应用程序的并发级别很低&#xff0c;许多开发人员选择根本不同步这些资源。 例如&#xff0c;不太可能同时访问会话资源&…

java cpu过高排查_涨薪秘籍:JAVA项目排查cpu负载过高

背景我负责的其中一个项目在空负载的情况下&#xff0c;CPU占用率依然保持着100%左右&#xff0c;线上、测试、开发的服务都一样&#xff1b;是什么导致的呢&#xff1f;在开发环境我查看了请求流量&#xff0c;这个流量可以忽略但CPU占用率一直在60%-100%之间浮动。分析问题流…

理财app说明

cordova库和魔蝎库使用的比较多 另外一个使用比较多的就是腾讯的youtu的第三方库&#xff0c;友盟的app统计的功能也有用 推送上使用的有激光推送、魅族推送、小米推送 另外多任务处理方面&#xff0c;有使用blots的库转载于:https://www.cnblogs.com/istar/p/9673249.html

巧用css的border属性完成对图片编辑功能的性能优化

一、需求场景&#xff1a; 最近闲来无事&#xff0c;boss提出了一个要求&#xff0c;研究相关代码并完成一个关于编辑图片功能的性能优化&#xff0c;该功能的主要界面展示如下&#xff1a; 通过了几分钟的短暂试用&#xff0c;发现就是一个简单的裁剪并保存用户选择并上传的图…

『Balancing Act 树的重心』

树的重心 我们先来认识一下树的重心。 树的重心也叫树的质心。找到一个点,其所有的子树中最大的子树节点数最少,那么这个点就是这棵树的重心,删去重心后&#xff0c;生成的多棵树尽可能平衡。 根据树的重心的定义&#xff0c;我们可以通过树形DP来求解树的重心。 设\(Max_i\)代…