入门必须知道的快速补全快捷键:

END:快速跳到行末

SHIFT+回车:换行

CTRL+ALT+T:快捷使用基本语法例如:for,while...

输入 变量.sout:输出变量

输入 main:快速写出主函数

1.注解
/*输入前两个回车就可以了*///CTRL+shift+/  多行注释/**+回车**/
2.\n换行  \t tab  字符串必须使用双引号3.变量:数据类型+变量名称 = 初始值必须声明后使用变量声明后不能存储其他类型数据变量的有效范围从定义开始到}截至,在同一个范围内不能定义两个同名的变量变量定义时可以没有初始值,但是使用的时候必须有初始值4.计算机最小的组成单位(字节byte简称B) 每个二进制称之为1位 1byte = 8b 1K = 1024 B常用的ascii A-65 a-97 0-485.16进制 0-9 ABCDEF  0B-二进制  0-八进制 0X-16进制6.数据类型(随便输入的数字是一个int类型的,如果需要成为long类型的话需要在末端加上l/L)整数:byte -128-127  1个字节short -32768-32767int(默认) -2147483648-2147483647(10位数)long(19位数)浮点数:float (随便写的小数默认的是double类型的,需要成为float的话需要在末端加上F/f)字符:char布尔:Boolean引用数据类型:String7.变量名称:首字母小写 驼峰模式类名称:首字母大写 驼峰模式8.类型转换:自动类型转换:类型范围小的变量可以直接赋值给范围大的  例如:将byte类型的变量赋值给int类型的变量表达式的自动类型转换:表达式的最后结果类型由表达式的最高类型决定的  a=1+1.0  最高的类型是double在表达式中byte,short,char 是直接转换为int类型参与运算的强制类型转换:类型大的转化为类型小的 (数据类型) 变量2 = (数据类型) 变量1 byte b = byte a强制类型转换可能造成数据丢失(溢出)浮点型强制转换成整形,直接丢掉小数部分,保留整数部分返回8.运算符:算术运算符:+ , - ,* ,/ ,%(求余)  +在字符串运算的时候用作连接符  +两边能算就算从左到右,不能算就相互拼接例子:数值拆分:先除到对应的位数 后求余 百位 x/100%10自增自减运算符:++和-- 既可以放在变量的后边也可以放在变量的前边++和-- 只能操作变量,不能操作字面量的如果是单独使用的话++和--的使用的效果是一样的但是在表达式中就不一样m=10 n=m++(n=10,m=11) / n=++m(n=11,m=11)++和--在前面先把需要+1和减一的值先执行再使用(赋值)++和--在后面先使用再+1/-1赋值运算符:=,+=,-=,*=,/=,%=  a+=b == a=(a的类型)(a+b)关系运算符:== ,!= ,> , >= , < , <= 返回true或者frase逻辑运算符:& 逻辑与 必须都是true 结果才是true 有一个false结果就是false| 逻辑或 只有一个为true 结果就为true!逻辑非 相反的意思,真的变成假的 ,假的变成真的^ 逻辑异或 如果两个条件都是false或者都是true结果就是false , 两个条件不同的时候结果是true短路逻辑运算符:&&:短路与 判断和&一样 左边为false的时候右边不会执行||:短路或 判断结果和|一样,左边为true的时候右边不执行三元表达式: 条件表达式?值1:值2;首先计算关系表达式,如果为true返回值1,如果为false返回值2 (判断两个结果,并且输出两个结果对应的不同提示或者其他)优先级:键盘录入://获取一个输入对象Scanner sc =new Scanner(System.in);9.程序流程控制:if分支:(在值匹配的时候建议使用)分支结构:if(条件表达式1){语句;}else{语句;}else if(条件表达式2){语句;}switch分支:表达式类型只能是byte,short,int,char String 不能是double,float,longcase给出的值不允许重复,不能为变量不能忘记写break,否则会出现穿透现象(一直往下走,走到break语句再跳出)穿透例子:月份天数,重复的就由其穿透,在最后写上一个breakswitch(表达式){case 值1:执行代码;break;case 值2:{执行代码;break;}default:执行代码;}知道循环几次的时候使用for,不知道循环几次建议使用while循环for循环:从初始化的数值开始算循环的的次数for(初始化语句;循环条件;迭代语句){循环体语句;(重复执行的语句)}while循环:while(循环条件){循环体语句;(重复语句)迭代语句;}do while循环:一定会先执行一次循环体初始化语句;do{循环体语句;迭代语句;}while(循环条件);for和while的区别:for循环和while的执行流程是一摸一样的如果是知道了循环的次数的时候建议使用for,如果是不清楚循环的次数的时候建议使用whilefor循环中,循环的变量只在循环中使用。while循环中,控制循环的变量在循环后还可以继续使用死循环:for(;;){循环语句;}while(ture){循环语句;}do{循环语句;}while(ture);嵌套循环:外部循环一次,内部全部执行完一次break:跳出本次的循环  当一个条件满足时候就跳出循环continue:用于跳出本次循环的执行,进入到下一次的循环中  当其中有一次循环意义不大的时候跳过这次的循环随机数:Random类10.数组:引用类型,数组变量名中存储的是地址用来存储一批同种类型数据的内存区域(可以理解为容器) 怎么定义数组 --> 怎么操作数组元素 --> 怎么解决实际问题 -->数组内存原理 -->数组使用的注意点静态数组: (1) 数据类型[] 数组名 = new 数据类型[] {}(2) 数据类型 [] 数组名 = {}    数据类型  数组名[] = {}            String[] names = {}数组访问:数组名称[索引]  数组长度属性:数组名.length 数组的最大索引:length-1注意:什么类型的数组存放什么数据不然的话报错数组一旦定义出来,程序执行的过程中,长度,类型就固定了动态数组:数组类型[] 数组名 = new 数据类型[长度];基本的类型初始化值:int 一类的 0double一类 0.0Boolean flase引用类型:类,接口,数组,String,null数组的遍历:循环条件为数组的长度,从0开始,通过索引值的变化来进行便利整个数组  快捷方式:数组名.fori+回车求最大值:定义静态的数组,定于一个参照max,比较进行不断更新max猜数字游戏:(5个1-20的随机数,没有猜中继续,猜中了输出第一次出现的位置,并输出所有的5个数)注意:注意括号里面的内容,不要将内容写错在其他的循环体内随机排名:随机的两个位置的值交换的时候需要加入一个临时变量,例如三杯水的交换原理冒泡排序:(找出每轮的最大值,放到最后的位置)首先找出总共需要排多少轮 0~data.length 但是这里要写上 1~data.length-1 因为下面有边界值问题每轮比较几次  data.length-i 次然后进行水杯换水 冒泡操作 交换两个位置的值,一直排序上去java内存分配:方法区:编译文件的位置栈内存:main方法运行时所进入的内存,变量也是在这里堆内存:new出来的对象在这块内存开辟空间并产生地址两个变量指向同一个数组对象传的是地址常见的数组报错:数组的长度不符,长度超出数组长度数组为null,取值Debug的使用11.方法是一种语法结构(函数)定义:修饰符 返回值类型 方法名 (形参列表){方法体代码;return 返回值;}调用:方法名(...);无返回值类型:void 不使用return注意点:方法的修饰符暂时都使用public static方法申明了具体的返回值类型,内部必须使用return返回对应类型的数据形参可以有多个,甚至可以没有;如果有多个形参的话必须使用,隔开常见问题:方法的编写循序无所谓方法间是平级的关系,不能嵌套使用方法的返回值类型是void,方法内部不能使用return,定义的返回值类型和return需要一致return下面是无效代码方法不调用就不执行,调用时需要严格匹配方法的参数情况有返回值的方法调用时可以定义变量接受结果或者直接输出,甚至直接调用,无返回值方法的调用只能直接调用一下方法没有被调用的时候放在方法区,调用的时候在栈内存里面开辟空间方法的参数传递机制:基本类型的参数传递:实参:如在方法的内部定义的形参:如在定义方法的时候()所生命的参数实参和形参传递的时候并不是传递实参本身而是传递实参中存储的值,这个就是值传递引用类型的参数传递:传递的是类型的地址传递去堆内存里面取值和修改值方法的重载:(用一个类型功能)同一个类中,出现多个方法的名称相同,但是形参的列表是不同的,那么这些方法就是重载方法(形参的顺序,个数,类型不同)return:立即跳出并结束当前方法的执行,return可以放到任何方法里面使用案例练习:遇到值匹配的时候使用switch分支实现遇到判断区间的时候使用if分支结构实现当一个循环里的判断条件不成立的次数很多无法判断时,使用信号量,在条件成成立的将这个信号量改变其值,最后判断得出最后的结果信号位思想:先假定一个结果,最后进行判断这个信号位,如果在整个过程都没有其他的情况时,信号位不变实现数组元素的反转,定义了两个变量,分别一个在头部,一个在尾部,同时进行收缩,然后进行换值操作冒泡排序:遍历数组,判断相邻的两个值的大小,使大的值交换到右边(不断比较相邻的两个)选择排序:遍历数组,每一轮选择出最大值的索引值,最后再放到一轮的最后位置(更新索引值)插入排序:遍历数组,默认第一个为排序好的位置,将后面的值不断的交换到前面相应的位置(优化:通过暂存待插入值,当插入值<数组值时,将前面的值赋值给后面的值,挪位操作)二分查找:通过判断条件(end<begin)来进行比较mid值和查找值的大小,从而更换判断的区间,当在<mid时end = mid ,当>mid时begin = mid+1

java_入门基础笔记相关推荐

  1. java最简单最全入门基础笔记(不简单,不全你打我)

    刚开始学习java的时候,可能是一头雾水,不知道从何学起,这里跟大家分享一下!(仅仅只供初级学者学习,大佬勿喷) 另外:这里还整理所有java基础单词 下面是链接 java基础单词 java第二阶段学 ...

  2. python入门基础笔记

    新想法:送矿泉水---送货applinux操作系统bin sbin 可执行程序home 目录temp 临时生成的目录根目录:/ 用户目录:用户工作目录或家目录/home/user相对路径:上一层路径( ...

  3. html入门基础笔记(简单实用)

    一.初识html 1.HTML:Hyper Text Markup Language(超文本标记语言) java是一门编译性语言 html是一门解释性的标记语言 超文本:文字.图片.音频.视频.动画. ...

  4. java字节流转字符流的步骤_字节流-java入门基础笔记-51CTO博客

    [14]字节流 一.字节流 1.什么是字节流是IO流中的一种, 可以用来读写字节数据. 2.字节流和字符流的区别计算机中存储任何数据都是以字节的形式, 所以字节流可以读写任意类型的数据. 在读写的数据 ...

  5. android入门基础笔记,Sqlite数据库下载

    * 移动通讯技术的发展: 第一代通讯技术:模拟信号 工作频段   缺点:保密性差 第二代通讯技术: 体积越来越小  数字信号(加密)   短信  彩信 第三代通讯技术: 数字信号   可处理图像.音乐 ...

  6. Python 入门基础笔记(二)

    一`.模块是经过封装的类库可以经过导入之后直接调用,有标准库和第三方库,标准库导入即可,第三方库要安装之后使用; 常用标准库有: OS标准库--------    提供很多与操作系统交互的函数 RE标 ...

  7. python笔记基础-Python入门基础知识学习笔记之一

    为什么要写这篇文章? 本人做过Objective-C开发,现在在用C#做WinForm开发.近段时间在学习Python入门基础知识时,发现有很多知识点和Objective-C的不一样.故想通过本文记录 ...

  8. UWP入门(二) -- 基础笔记

    UWP入门(二) -- 基础笔记 原文:UWP入门(二) -- 基础笔记 不错的UWP入门视频,1092417123,欢迎交流 UWP-04 - What i XMAL? XAML - XML Syn ...

  9. python基础入门学习笔记 (2)

    python基础入门学习笔记 2021年2月8日 1 编译器和解释器的区别 编译器/解释器:高级语言与机器之间的翻译官 2 值传递: print "a = ",a print &q ...

最新文章

  1. python学起来难不难-新手学python数据分析难不难?
  2. python好找工作么-python和django掌握到什么水平才好找工作?
  3. MySQL5.7号称永久解决了复制延迟问题的并行复制
  4. Python爬取Json格式数据并读写(改中文编码)
  5. softened softmax vs softmax
  6. 学霸大佬整理,超全 Python 学习路线图(附工具+视频+书籍+面试)
  7. RocketMQ源码解析:Filtersrv
  8. android 小黄车首页,android采用MVP漫画APP、适配刘海屏、小黄车主界面、录音波浪动画、综合APP等源码...
  9. Python字符串处理小案例
  10. html5圆盘抽奖,HTML5 Canvas圆盘抽奖运用DEMO
  11. oracle中exists和in的比较
  12. 计算机网络第七版课后习题答案(第一章)(20210321)
  13. Android截图命令screencap
  14. Python之print函数详解
  15. qpython3下载不了_qpython3手机版
  16. 如何从零学习游戏开发
  17. Node.js的线程和进程*2014年4月的文章
  18. react将表格动态生成视频列表【代码】【案例】
  19. linux usb驱动——OTG数据线与普通数据线区别
  20. 华语乐坛十二大伤感情歌手

热门文章

  1. EndNote X9 教程入门到进阶 win mac
  2. 游戏感:虚拟感觉的游戏设计师指南——第五章 不再靠直觉:游戏感的测量方法
  3. ios保存gif到相册_IOS开发入门之iOS GIF图片导入到相册处理方法
  4. 【社会化评论】“重要通知: 多说即将关闭”
  5. Linux基础命令-useradd创建用户
  6. 源代码加密的意义和办法
  7. 针对QQ,TIM工作群提供服务的功能
  8. 【转】mysql命令提示符显示中文乱码或插入值均为空白
  9. 四月四日服务器维护,绝地求生测试服4月4日停机维护 今天更新什么内容介绍
  10. 【python】之字典及其操作