Java进发过程——问题总结

平时遇到的问题-总结:

MYSQL:

  • -h(指定登录数据库的主机名)
  • -p(指定登录数据库的密码)
  • -e(指定SQL命令即可执行)

mysql命令表:

  • For server side help, type ‘help contents’

变量命名规则:

基本要求:

  1. 首字母:字母,下划线(_)或符号(不能含有空格,不能以数字开头).
  2. 其他部分:数字,字母,下划线,符号(不能含有空格,不能以数字开头)
  3. php编程中所有变量必须以开始)
  4. 变量名不能是Java关键字(即保留字)
  5. 除了下划线、开始)3.变量名不能是Java关键字(即保留字)4.除了下划线、之外,不包括任何其他特殊字符

其他要求:

  • (1)变量名当有多个单词组成时,第一个单词首字母小写,后一个单词的首字母大写(如:myName)
  • (2)见名知意
  • (3)变量名的长度没有限制,但却区分大小写(如:power和Power是两个不同的变量)

a++ 的含义是先赋值后相加,如 b=a++; 先将a的值赋给b,然后a再加上1;++a的含义是先相加后赋值,如 b=++a 先将a加上1,然后再把加上1的a赋给b.

快捷键:

  • Ctrl+L 定位在某行 (对于程序超过100的人就有福音了)
  • Ctrl+M 最大化当前的Edit或View (再按则反之)
  • Ctrl+/ 注释当前行,再按则取消注释
  • Ctrl+O 快速显示 OutLine
  • Ctrl+T 快速显示当前类的继承结构
  • Ctrl+W 关闭当前Editer
  • Ctrl+K 参照选中的Word快速定位到下一个
  • Ctrl+E 快速显示当前Editer的下拉列表(如果当前页面没有显示的用黑体表示)
  • Ctrl+/(小键盘) 折叠当前类中的所有代码
  • Ctrl+×(小键盘) 展开当前类中的所有代码
  • Ctrl+Space 代码助手完成一些代码的插入(但一般和输入法有冲突,可以修改输入法的热键,也可以暂用Alt+/来代替)
  • Ctrl+Shift+E 显示管理当前打开的所有的View的管理器(可以选择关闭,激活等操作)
  • Ctrl+J 正向增量查找(按下Ctrl+J后,你所输入的每个字母编辑器都提供快速匹配定位到某个单词,如果没
  • 有,则在stutes line中显示没有找到了,查一个单词时,特别实用,这个功能Idea两年前就有了)
  • Ctrl+Shift+J 反向增量查找(和上条相同,只不过是从后往前查)
  • Ctrl+Shift+F4 关闭所有打开的Editer
  • Ctrl+Shift+X 把当前选中的文本全部变为大写
  • Ctrl+Shift+Y 把当前选中的文本全部变为小写
  • Ctrl+Shift+F 格式化当前代码
  • Ctrl+Shift+P 定位到对于的匹配符(譬如{}) (从前面定位后面时,光标要在匹配符里面,后面到前面,则反之)
  • 下面的快捷键是重构里面常用的,本人就自己喜欢且常用的整理一下(注:一般重构的快捷键都是Alt+Shift开头的了)
  • Alt+Shift+R 重命名 (是我自己最爱用的一个了,尤其是变量和类的Rename,比手工方法能节省很多劳动力)
  • Alt+Shift+M 抽取方法 (这是重构里面最常用的方法之一了,尤其是对一大堆泥团代码有用)
  • Alt+Shift+C 修改函数结构(比较实用,有N个函数调用了这个方法,修改一次搞定)
  • Alt+Shift+L 抽取本地变量( 可以直接把一些魔法数字和字符串抽取成一个变量,尤其是多处调用的时候)
  • Alt+Shift+F 把Class中的local变量变为field变量 (比较实用的功能)
  • Alt+Shift+I 合并变量(可能这样说有点不妥Inline)
  • Alt+Shift+V 移动函数和变量(不怎么常用)
  • Alt+Shift+Z 重构的后悔药(Undo)
  • 自建偏好 preferences
  • 常用的快捷键
  •   ctrl+c 复制
    
  • ctrl+v 粘贴
  • ctrl+x 剪切
  • ctrl+z 撤销
  • ctrl+y 反撤销
  • ctrl+s 保存
  • ctrl+f 查询
  • tab 缩进
  • shift+tab 反缩进
  • win+e 打开我的电脑
  • win+d 回到桌面
  • win+r 打开运行
  • win+i 打开设置
  • win+l 锁屏

dos命令

  • dir 显示当前目录中的所有文件
  • cd 文件夹名 切换到目录
  • 盘符: d: 切换到d盘
  • md 创建一个文件夹
  • rd 移除一个文件夹
  • cd… 回到上一层目录
  • cd/ 回到当前盘符根目录
  • del 删除文件
  • help 帮助
  • cls 清屏
  • exit 退出

java程序

class 类名{

//main快捷

​ public static void main(String[] args){

//sout或syso快捷

​ System.out.println(“内容”);

​ }

}

注意 英文字母大小 还有括号的中英文

编程语言的分类:

  • 1,编译型的语言C, C++, JAVA, OC, Swift, C#
  • 2,解释型的语言(脚本语言), PHP, JavaScript, Python,Ruby
  • 3,标记语言HTML, XML

内存分为3大分区: 栈区, 堆区, 方法区(包含静态区, 常量区)

每个功能不同:

栈区: 主要是给函数(方法)局部变量,分配内存. 栈区的特点:先进后出, 函数一旦被调用, 就会入栈, 开始为这个函数所有的局部变量分配内存, 当函数调用完毕, 函数就会出栈, 为函数里的局部变量分配的内存就会被回收.

堆区: 主要是给new 出来的对象分配内存, 堆区的特点, 主要是靠引用来检查对象是否有人再用, 如果对象没有人使用了, Java 的垃圾回收机制, 会回收这块堆区内存.

方法区: 方法区包含了静态区,常量区, 方法区主要存储.class字节码文件

函数的递归调用

函数内部, 可以嵌套函数本身, 这种调用方式叫做递归调用.

递归调用能够巧妙的解决一些算法问题, 但是递归调用会消耗大量的栈内存,因为,递归是一直调用的最里面, 再从最里面逐级返回. 使用递归一定要有出口,否则会导致栈溢出,程序终止.

部分包装类中提供了一个小的缓存, 该缓存的取值范围在(-128-127)之间, 若需要装箱的数在这个范围内, 则从缓冲区取一个实例, 否则会new 一个新的实例

继承后构造器的特点

1,当子类继承父类后, 子类中所有的构造器的第一句,都有一个隐式的:super().

super()的作用, 是调用父类无参的构造器.

super()的目的, 当子类继承父类后,继承了父类所有的属性和方法, 因此,子类需要知道父类是如何为对象进行初始化的.

2, 如果父类中没有显式定义无参构造, 只给了有参构造, 那么子类的构造器中,就不能使用super(),
解决方法:
  1. 父类显式提供一个无参构造
  2. 子类构造器中, 显式调用父类有参构造, 如果子类显式调用了父类的有参构造super(参数), 子类构造隐式的super()将不再提供.
  3. 子类所有的构造器里, 默认都有一个隐式的super().
  4. super() 必须出现在当前构造器中的首行 ,
  5. super() 和this() 不能同时出现(指的是super和this调用构造方法)
1,局部变量和成员变量的区别
  • A, 作用域不一样
  • B, 内存中的位置不一样
  • C, 成员变量有默认值, 局部变量没有默认值.

(1)整型属性默认值是0

(2)浮点型属性默认值是0.0

(3)字符型属性默认值是’\u0000’

(4)布尔型属性默认值是false

(5)引用类型属性默认值是null

2,属性赋值初始值的方式

​ A,属性缺省值

​ B,定义属性直接显式赋初值

​ C,通过对象修改属性内容

1, 获取字符串的方法

A,串接字符串, concat

String str = “abc”;

String str2 = str.concat(“def”);

B,获取子串substring()

String str1 = str.substring(3);//从哪开始到最后

String str1 = str.substring(2,4) //包含头,不包含尾

C,转换大小写

str.toLowerCase();

str.toUpperCase();

D,去除首尾空格和制表符号

str.trim();

2, 搜索相关的方法

​ A, int indexOf(int ch) 获取指定字符在字符串中的位置, 若没有指定字符, 返回-1

​ B, int indexOf(int ch, int fromIndex) 从指定位置开始搜索

​ C, int indexOf(String str) 返回指定子字符串第一次出现的字符串内的索引。

​ D, int indexOf(String str, int fromIndex) 返回指定子串的第一次出现的字符串中的索引,从指定的索引开始。

​ E, int lastIndexOf(String str) 返回指定子字符串最后一次出现的字符串中的索引

3, 判断相关的方法

​ A, boolean equals(Object anObject) 判断是否相等

​ B, boolean equalsIgnoreCase(String anotherString) 判断是否相等,忽略大小写

​ C, boolean contains(CharSequence s) 判断是否包含某字符串

​ D, boolean startsWith(String prefix) 判断是否是以指定字符串打头

​ E, boolean endsWith(String suffix) 判断是否是以指定字符串结尾

​ F, boolean isEmpty() 判断字符串是否为空

4,其他方法

​ A, int length() 返回字符串的长度

​ B, char charAt(int index) 返回索引处的字符

​ C,将字符数组转换成字符串

​ 构造器: String(char[] ch)

​ 静态方法:static String copyValueOf(char[] ch);

​ D,将字符串转换成字符数组

​ char[] toCharArray()

​ E, String replace(char oldChar, char newChar) 替换字符串中的字符

​ F, String replace(CharSequence target, CharSequence replacement) 替换字符串中的某个字符串

StringBuffer****和 StringBulider

1.两个类的区别和联系

A,创建一个可变的字符串对象

B, StringBuffer 和StringBulider 使用方式一模一样

C, StringBuffer考虑了线程安全的问题, 但是效率低

D, StringBulider比StringBuffer效率高, 因为没有考虑线程安全的问题.

StringBuffer 和 StringBulider 的常用方法

  • ​ 1, StringBuffer append(CharSequence s) 原串拼接
  • ​ 2, StringBuilder insert(int dstOffset, CharSequence s) 原串插入
  • ​ 3, int indexOf(String str) 寻找子串位置
  • ​ 4, String substring(int start, int end) 获得子串
  • ​ 5, StringBuffer delete(int start, int end) 删除某个范围字符串
  • ​ 6, StringBuffer deleteCharAt(int index) 删除某个位置字符
  • ​ 7,String toString() 转换成不可变字符串.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值