<commit_before>---
layout: post
category : TestNG
title: "TestNG入门教程"
tagline: "TestNG的预备知识"
tags : [TestNG]
---
{% include JB/setup %}<commit_msg>add Java basic page<commit_after>---
layout: post
category : Java
title: "Java基础"
tagline: "入门知识"
tags : [Java]
---
{% include JB/setup %}

## 1、javac命令将java源文件编译为class字节码文件，生成HelloWorld.class的文件；java命令运行class字节码文件；

## 2、Java丢弃了C++中的东西：
操作符重载、多继承、自动的强制类型转换，不用指针、全面支持动态绑定（C++只对虚函数使用动态绑定）；

## 3、一个java程序可以认为是一系列对象的集合，而这些对象通过调用彼此的方法来协同工作

## 4、java程序的基本语法：
大小写敏感；源文件名必须与类名相同且首字母应该大写；方法名应该以小写字母开头；

## 5、Java标识符：
所有的标识符都应该以字母、美元符或者下划线开始；

##  6、Java修饰符：
修饰类、方法、字段；

## 7、一个类中可以包含的变量：
局部变量（声明在方法、构造函数、或者语句块中）、成员变量（在对象创建的时候创建）、类变量（声明为static类型的）；

## 8、创建对象：
使用new创建对象时，会调用构造方法初始化对象；

## 9、java源文件的声明规则：
一个源文件中只能有一个public类，多个非public类；
源文件名应该与public类的类名保持一致；

## 10、java包：
主要是用来对类和接口进行分类；

## 11、java基本数据类型：

（1）内置数据类型：`byte`（8位有符号）、`short`（16位有符号）、`int`（32位有符号）、`long`（64位有符号）、`float`（32位单精度）、double（双精度64位）、boolean、char（16位字符）；

（2）引用数据类型：对象、数组，默认值都是null；

## 12、Java常量：
以final标志；

## 13、修饰符：
定义类、方法、变量；
默认的（`default`）在同一包内可见，不使用任何修饰符；
私有的（`private`）在同一类中可见；
共有的（`public`）对所有类可见；
受保护的（`protected）`对同一包内的类和所有子类可见；

## 14、java正则表达式：
定义了字符串的模式，可用于搜索、编辑、处理文本；

## 15、增强型for循环：
主要用于数组；
{'fraction_non_alphanumeric': 0.17988552739165986, 'fraction_numerical': 0.029435813573180702, 'mean_word_length': 9.2, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3933875', 'n_tokens_mistral': 888, 'n_tokens_neox': 1007, 'n_words': 63}