mysql_fetch_bit_mysql_fetch_array()

mysql_fetch_array()

(PHP 4, PHP 5)

从结果集中取得一行作为关联数组,或数字数组,或二者兼有

说明mysql_fetch_array(resource$result[,int$ result_type]):array

返回根据从结果集取得的行生成的数组,如果没有更多行则返回FALSE。

mysql_fetch_array()是mysql_fetch_row()的扩展版本。除了将数据以数字索引方式储存在数组中之外,还可以将数据作为关联索引储存,用字段名作为键名。

如果结果中的两个或以上的列具有相同字段名,最后一列将优先。要访问同名的其它列,必须用该列的数字索引或给该列起个别名。对有别名的列,不能再用原来的列名访问其内容(本例中的'field')。

Example #1 相同字段名的查询select table1.field as foo, table2.field as bar from table1, table2

有一点很重要必须指出,用mysql_fetch_array()并不明显比用mysql_fetch_row()慢,而且还提供了明显更多的值。

mysql_fetch_array()中可选的第二个参数$result_type是一个常量,可以接受以下值:MYSQL_ASSOC,MYSQL_NUM 和 MYSQL_BOTH。本特性是 PHP 3.0.7 起新加的。本参数的默认值是 MYSQL_BOTH。

如果用了 MYSQL_BOTH,将得到一个同时包含关联和数字索引的数组。用 MYSQL_ASSOC 只得到关联索引(如同mysql_fetch_assoc()那样),用 MYSQL_NUM 只得到数字索引(如同mysql_fetch_row()那样)。Note:此函数返回的字段名大小写敏感。

Example #2 mysql_fetch_array 使用 MYSQL_NUM<?php

mysql_connect("localhost", "mysql_user", "mysql_password") or

die("Could not connect: ". mysql_error());

mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_NUM)) {

printf ("ID: %s Name: %s", $row[0], $row[1]);

}

mysql_free_result($result);

?>

Example #3 mysql_fetch_array 使用 MYSQL_ASSOC<?php

mysql_connect("localhost", "mysql_user", "mysql_password") or

die("Could not connect: ". mysql_error());

mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {

printf ("ID: %s Name: %s", $row["id"], $row["name"]);

}

mysql_free_result($result);

?>

Example #4 mysql_fetch_array 使用 MYSQL_BOTH<?php

mysql_connect("localhost", "mysql_user", "mysql_password") or

die("Could not connect: ". mysql_error());

mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {

printf ("ID: %s Name: %s", $row[0], $row["name"]);

}

mysql_free_result($result);

?>

参见mysql_fetch_row()和mysql_fetch_assoc()。

参数$resultresource型的结果集。此结果集来自对mysql_query()的调用。$result_typeThe type of array that is to be fetched. It's a constant and can take the following values:MYSQL_ASSOC,MYSQL_NUM, and MYSQL_BOTH.

返回值

Returns an array of strings that corresponds to the fetched row, or FALSE if there are no more rows. The type of returned array depends on how$result_typeis defined. By using MYSQL_BOTH(default), you'll get an array with both associative and number indices. Using MYSQL_ASSOC, you only get associative indices(as mysql_fetch_assoc() works), using MYSQL_NUM, you only get number indices(as mysql_fetch_row() works).

If two or more columns of the result have the same field names, the last column will take precedence. To access the other column(s)of the same name, you must use the numeric index of the column or make an alias for the column. For aliased columns, you cannot access the contents with the original column name.

范例

Example #5 Query with aliased duplicate field namesSELECT table1.field AS foo, table2.field AS bar FROM table1, table2

Example #6 mysql_fetch_array() with MYSQL_NUM<?php

mysql_connect("localhost", "mysql_user", "mysql_password") or

die("Could not connect: ". mysql_error());

mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_NUM)) {

printf("ID: %s Name: %s", $row[0], $row[1]);

}

mysql_free_result($result);

?>

Example #7 mysql_fetch_array() with MYSQL_ASSOC<?php

mysql_connect("localhost", "mysql_user", "mysql_password") or

die("Could not connect: ". mysql_error());

mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {

printf("ID: %s Name: %s", $row["id"], $row["name"]);

}

mysql_free_result($result);

?>

Example #8 mysql_fetch_array() with MYSQL_BOTH<?php

mysql_connect("localhost", "mysql_user", "mysql_password") or

die("Could not connect: ". mysql_error());

mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {

printf ("ID: %s Name: %s", $row[0], $row["name"]);

}

mysql_free_result($result);

?>

注释Note:Performance

An important thing to note is that using mysql_fetch_array() isnot significantlyslower than using mysql_fetch_row(), while it provides a significant added value.Note:此函数返回的字段名大小写敏感。Note:此函数将 NULL 字段设置为 PHP NULL值。

参见Benchmark on a table with 38567 rows:

mysql_fetch_array

MYSQL_BOTH: 6.01940000057 secs

MYSQL_NUM: 3.22173595428 secs

MYSQL_ASSOC: 3.92950594425 secs

mysql_fetch_row: 2.35096800327 secs

mysql_fetch_assoc: 2.92349803448 secs

As you can see, it's twice as effecient to fetch either an array or a hash, rather than getting both. it's even faster to use fetch_row rather than passing fetch_array MYSQL_NUM, or fetch_assoc rather than fetch_array MYSQL_ASSOC. Don't fetch BOTH unless you really need them, and most of the time you don't.I have found a way to put all results from the select query in an array in one line.

// Read records

$result = mysql_query("SELECT * FROM table;") or die(mysql_error());

// Put them in array

for($i = 0; $array[$i] = mysql_fetch_assoc($result); $i++) ;

// Delete last empty one

array_pop($array);

You need to delete the last one because this will always be empty.

By this you can easily read the entire table to an array and preserve the keys of the table columns. Very handy.Regarding duplicated field names in queries, I wanted some way to retrieve rows without having to use alias, so I wrote this class that returns rows as 2d-arrays

$field = $drow['table']['column'];

?>

Here is the code:

class mysql_resultset

{

var $results, $map;

function mysql_resultset($results)

{

$this->results = $results;

$this->map = array();

$index = 0;

while ($column = mysql_fetch_field($results))

{

$this->map[$index++] = array($column->table, $column->name);

}

}

function fetch()

{

if ($row = mysql_fetch_row($this->results))

{

$drow = array();

foreach ($row as $index => $field)

{

list($table, $column) = $this->map[$index];

$drow[$table][$column] = $row[$index];

}

return $drow;

}

else

return false;

}

}

?>

The class is initialized with a mysql_query result:

$resultset = new mysql_resultset(mysql_query($sql));

?>

The constructor builds an array that maps each field index to a ($table, $column) array so we can use mysql_fetch_row and access field values by index in the fetch() method. This method then uses the map to build up the 2d-array.

An example:

$sql =

"select orders.*, clients.*, productos.* ".

"from orders, clients, products ".

"where join conditions";

$resultset = new mysql_resultset(mysql_query($sql));

while ($drow = $resultset->fetch())

{

echo 'No.: '.$drow['orders']['number'].'
';

echo 'Client: '.$drow['clients']['name'].'
';

echo 'Product: '.$drow['products']['name'].'
';

}

?>

I hope others find this useful as it has been to me.One of the most common mistakes that people make with this function, when using it multiple times in one script, is that they forget to use the mysql_data_seek() function to reset the internal data pointer.

When iterating through an array of MySQL results, e.g.

while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {

foreach ($line as $col_value) {

echo $col_value . '
';

}

}

?>

the internal data pointer for the array is advanced, incrementally, until there are no more elements left in the array. So, basically, if you copy/pasted the above code into a script TWICE, the second copy would not create any output. The reason is because the data pointer has been advanced to the end of the $line array and returned FALSE upon doing so.

If, for some reason, you wanted to interate through the array a second time, perhaps grabbing a different piece of data from the same result set, you would have to make sure you call

mysql_data_seek($result, 0);

?>

This function resets the pointer and you can re-iterate through the $line array, again!Here is a suggestion to workaround the problem of NULL values:

// get associative array, with NULL values set

$record = mysql_fetch_array($queryID,MYSQL_ASSOC);

// set number indices

if(is_array($record))

{

$i = 0;

foreach($record as $element)

$record[$i++] = $element;

}

This way you can access $result array as usual, having NULL fields set.for the problem with fields containing null values in an associated array, feel free to use this function. i've got no more problems with it, just drop it in your script:

/*

* mysql_fetch_array_nullsafe

*

*

* get a result row as an enumerated and associated array

* ! nullsafe !

*

* parameter: $result

* $result: valid db result id

*

* returns: array | false (mysql:if there are any more rows)

*

*/

function mysql_fetch_array_nullsafe($result) {

$ret=array();

$num = mysql_num_fields($result);

if ($num==0) return $ret;

$fval = mysql_fetch_row ($result);

if ($fval === false) return false;

$i=0;

while($i

{

$fname[$i] = mysql_field_name($result,$i);

$ret[$i] = $fval[$i]; // enum

$ret[''.$fname[$i].''] = $fval[$i]; // assoc

$i++;

}

return $ret;

}mob AT stag DOT ru has a nice function for getting simple arrays from MySQL but it has a serious bug. The MySQL link being set as an argument is NULL when no link is supplied meaning that you're passing NULL to the mysql funcctions as a link, which is wrong. I am not using multitple connections so I removed the link and using the global link. If you want to support multiple links check to see if its set first.

/*

* to support multiple links add the $link argument to function then

* test it before you use the link

*

* if(isset($link))

* if($err=mysql_errno($link))return $err;

* else

* if($err=mysql_errno())return $err;

*/

function mysql_fetch_all($query){

$r=@mysql_query($query);

if($err=mysql_errno())return $err;

if(@mysql_num_rows($r))

while($row=mysql_fetch_array($r))$result[]=$row;

return $result;

}

function mysql_fetch_one($query){

$r=@mysql_query($query);

if($err=mysql_errno())return $err;

if(@mysql_num_rows($r))

return mysql_fetch_array($r);

}For all of you having problems accessing duplicated field names in queries with their table alias i have implemented the following quick solution:

function mysql_fetch_alias_array($result)

{

if (!($row = mysql_fetch_array($result)))

{

return null;

}

$assoc = Array();

$rowCount = mysql_num_fields($result);

for ($idx = 0; $idx < $rowCount; $idx++)

{

$table = mysql_field_table($result, $idx);

$field = mysql_field_name($result, $idx);

$assoc["$table.$field"] = $row[$idx];

}

return $assoc;

}

?>

Lets asume we have 2 tables student and contact each having fID as the index field and want to access both fID fields in php.

The usage of this function will be pretty similar to calling mysql_fetch_array:

$result = mysql_query("select * from student s inner join contact c on c.fID = s.frContactID");

while ($row = mysql_fetch_alias_array($result))

{

echo "StudenID:{$row['s.fID']}, ContactID:{$row['c.fID']}";

}

?>

Voila, that's it :)

Please be aware that by using this function, you have to access all fields with their alias name (e.g. s.Name, s.Birhtday) even if they are not duplicated.

If you have questions, just send me a mail.

Best regards,

Mehdi Haresi

die-webdesigner.atSimple way to put table in an array...

//= Query ========================//

$sql=mysql_query("select * from table1");

//= Closed while ====================//

/*everytime it fetches the row, adds it to array...*/

while($r[]=mysql_fetch_array($sql));

echo "

";

//= Prints $r as array =================//

print_r ($r);

//=============================//

echo "

";

?>In the note entered by Typer85, concerning the use of mysql_data_seek(), it should be noted that there are two parameters, both of which are required.

If you have already iterated through a result array (for instance, using mysql_fetch_array()), and have a need to start from the top, the proper syntax is:

mysql_data_seek({result set},{record#})

EG:

mysql_data_seek($result,0)

("0" represents the first record in the array.)

This will reset your result to the top of the array so that you can then re-process with

while($row = mysql_fetch_array($result)) or other array processing.I ran into troubles with MySQL NULL values when I generated dynamic queries and then had to figure out whether my resultset contained a specific field.

First instict was to use isset() and is_null(), but these function will not behave as you probably expect.

I ended up using array_key_exists, as it was the only function that could tell me whether the key actually existed or not.

$row = mysql_fetch_assoc(mysql_query("SELECT null as a"));

var_dump($row); //array(1) { ["a"]=> NULL }

var_dump(isset($row['a'])); //false

var_dump(isset($row['b'])); //false

var_dump(is_null($row['a'])); //true

var_dump(is_null($row['b'])); //true + throws undefined index notice

var_dump(array_key_exists('a', $row)); // true

var_dump(array_key_exists('b', $row)); // false

?>The issue of NULL fields seems to not be an issue anymore (as of 4.2.2 at least). mysql_fetch_* now seems to fully populate the array and put in entries with values of NULL when that is what the database returned. This is certainly the behaviour I expected, so I was concerned when i saw the notes here, but testing shows it does work the way I expected.<?php

while($r[]=mysql_fetch_array($sql));

?>

Yes, that will generate a dummy array element containing the false of the final mysql_fetch_array. You should either truncate the array or (more sensibly in my mind) check that the result of mysql_fetch_array is not false before adding it to the array.I did find 'jb at stormvision's' code useful above, but instead of the number of rows you need the number of fields; otherwise you get an error.

So, it should read like the following:

$result=mysql_query("select * from mydata order by 'id'")or die('died');

$num_fields = mysql_num_fields($result);

$j=0;

$x=1;

while($row=mysql_fetch_array($result)){

for($j=0;$j

$name = mysql_field_name($result, $j);

$object[$x][$name]=$row[$name];

}$x++;

}

For Later in the script you may use the below array to gain access to your data

$i=1;

$ii=count($object); //quick access function

for($i=1;$i<=$ii;$i++){

echo $object[$i]['your_field_name'];

}

I have tested this in my apps and it works great! :-)Just another workaround for columns with duplicate names...

Modify your SQL to use the AS keyword.

Instead of:

$sql = "SELECT t1.cA, t2.cA FROM t1, t2 WHERE t1.cA = t2.cA";

Try:

$sql = "SELECT t1.cA AS foo1, t2.cA AS foo2 FROM t1, t2 WHERE t1.cA = t2.cA";

Then you can reference the results by name in the array:

$row[foo1], $row[foo2]Try Php Object Generator: http://www.phpobjectgenerator.com

It's kind of similar to Daogen, which was suggested in one of the comments above, but simpler and easier to use.

Php Object Generator generates the Php Classes for your Php Objects. It also provides the database class so you can focus on more important aspects of your project. Hope this helps.If you think MySQL (or other) database

handling is difficult and requires lot's of

code, I recommend that you try http://titaniclinux.net/daogen/

DaoGen is a program source code generator

that supports PHP and Java. It makes database

programming quick and easy. Generated sources

are released under GPL.If you use implode() with the return value by mysql_fetch_array, if you use MYSQL_BOTH on parameter 2, the result is not really what you're expecting.

For example :

my sql database contains "Amine, Sarah, Mohamed";

$array = mysql_fetch_array($resource,MYSQL_BOTH);

or $array = mysql_fetch_array($resource);

echo implode(" - ", $array);

the result is : Amine-Amine-Sarah-Sarah-Mohamed-Mohamed

and we expect just : Amine-Sarah-Mohamed

You must use MYSQL_NUM or MYSQL_ASSOC on parameter 2 to resolve the problem.If you perform a SELECT query which returns different columns with duplicate names, like this:

--------

$sql_statement = "SELECT tbl1.colA, tbl2.colA FROM tbl1 LEFT JOIN tbl2 ON tbl1.colC = tbl2.colC";

$result = mysql_query($sql_statement, $handle);

$row = mysql_fetch_array($result);

--------

Then

$row[0] is equivalent to $row["colA"]

but

$row[1] is not equivalent to $row["colA"].

Moral of the story: You must use the numerical index on the result row arrays if column names are not unique, even if they come from different tables within a JOIN. This would render mysql_fetch_assoc() useless.

[Ed. note - or you could do the usual 'select tbl1.colA as somename, tbl2.colA as someothername. . .' which would obviate the problem. -- Torben]my main purpose was to show the fetched array into a table, showing the results side by side instead of underneath each other, and heres what I've come up with.

just change the $display number to however many columns you would like to have, just dont change the $cols number or you might run into some problems.

$display = 4;

$cols = 0;

echo "

while($fetched = mysql_fetch_array($result)){

if($cols == 0){

echo "

\n";

}

// put what you would like to display within each cell here

echo "

".$fetched['id']."
".$fetched['name']."\n";

$cols++;

if($cols == $display){

echo "

\n";

$cols = 0;

}

}

// added the following so it would display the correct html

if($cols != $display && $cols != 0){

$neededtds = $display - $cols;

for($i=0;$i

echo "

\n";

}

echo "

";

} else {

echo "";

}

?>

Hopefully this will save some of you a lot of searching.

any kind of improvements on this would be awesome!If I use

while($r[]=mysql_fetch_array($sql));

?>

so in array $r is one more entry then rows returned from the database.I wrote some utility functions to improve usability and readability, and use them everywhere in my code. I suppose they can help.

function mysql_fetch_all($query,$MySQL=NULL){

$r=@mysql_query($query,$MySQL);

if($err=mysql_errno($MySQL))return $err;

if(@mysql_num_rows($r))

while($row=mysql_fetch_array($r))$result[]=$row;

return $result;

}

function mysql_fetch_one($query,$MySQL=NULL){

$r=@mysql_query($query,$MySQL);

if($err=mysql_errno($MySQL))return $err;

if(@mysql_num_rows($r))

return mysql_fetch_array($r);

}

Example use:

if(is_array($rows=mysql_fetch_all("select * from sometable",$MySQL))){

//do something

}else{

if(!is_null($rows)) die("Query failed!");

}Here's a quicker way to clone a record. Only 3 lines of code instead of 4. But the table must have an auto-incremented id.

I took the code from Tim and altered it. Props to Tim.

// copy content of the record you wish to clone

$entity = mysql_fetch_array(mysql_query("SELECT * FROM table_name WHERE id='$id_to_becloned'"), MYSQL_ASSOC) or die("Could not select original record");

// set the auto-incremented id's value to blank. If you forget this step, nothing will work because we can't have two records with the same id

$entity["id"] = "";

// insert cloned copy of the original record

mysql_query("INSERT INTO table_name (".implode(", ",array_keys($entity)).") VALUES ('".implode("', '",array_values($entity))."')");

// if you want the auto-generated id of the new cloned record, do the following

$newid = mysql_insert_id();

?>

There you go.Please be advised that the resource result that you pass to this function can be thought of as being passed by reference because a resource is simply a pointer to a memory location.

Because of this, you can not loop through a resource result twice in the same script before resetting the pointer back to the start position.

For example:

----------------

// Assume We Already Queried Our Database.

// Loop Through Result Set.

while( $queryContent = mysql_fetch_row( $queryResult ) {

// Display.

echo $queryContent[ 0 ];

}

// We looped through the resource result already so the

// the pointer is no longer pointing at any rows.

// If we decide to loop through the same resource result

// again, the function will always return false because it

// will assume there are no more rows.

// So the following code, if executed after the previous code

// segment will not work.

while( $queryContent = mysql_fetch_row( $queryResult ) {

// Display.

echo $queryContent[ 0 ];

}

// Because $queryContent is now equal to FALSE, the loop

// will not be entered.

?>

----------------

The only solution to this is to reset the pointer to make it point at the first row again before the second code segment, so now the complete code will look as follows:

----------------

// Assume We Already Queried Our Database.

// Loop Through Result Set.

while( $queryContent = mysql_fetch_row( $queryResult ) {

// Display.

echo $queryContent[ 0 ];

}

// Reset Our Pointer.

mysql_data_seek( $queryResult );

// Loop Again.

while( $queryContent = mysql_fetch_row( $queryResult ) {

// Display.

echo $queryContent[ 0 ];

}

?>

----------------

Of course you would have to do extra checks to make sure that the number of rows in the result is not 0 or else mysql_data_seek itself will return false and an error will be raised.

Also please note that this applies to all functions that fetch result sets, including mysql_fetch_row, mysql_fetch_assos, and mysql_fetch_array.This is very useful when the following query is used:

`SHOW TABLE STATUS`

Different versions of MySQL give different responses to this.

Therefore, it is better to use mysql_fetch_array() because the numeric references given my mysql_fetch_row() give very different results.An example with mysql_fetch_array():

$result = mysql_query("SELECT name FROM table WHERE id=8");

$array = mysql_fetch_array($result);

$array will be:

array ([0] => "John", ['name'] => "John")

Then you can access to the results:

echo "The name is " . $array[0];

// or

echo "The name is " . $array['name'];

But the array is not referential. $array[0] is not a reference to $array['name'] or $array['name'] to $array[0], they are not relationed between. Because of that, the system will use excesive memory. With large columns, try to use mysql_fetch_assoc() or mysql_fetch_row() only.Little improvement to the previous function.

function mysql_fetch_rowsarr($result, $numass=MYSQL_BOTH) {

$got = array();

if(mysql_num_rows($result) == 0)

return $got;

mysql_data_seek($result, 0);

while ($row = mysql_fetch_array($result, $numass)) {

array_push($got, $row);

}

return $got;

}I never had so much trouble with null fields but it's to my understanding that extract only works as expected when using an associative array only, which is the case with mysql_fetch_assoc() as used in the previous note.

However a mysql_fetch_array will return field values with both the numerical and associative keys, the numerical ones being those extract() can't handle very well.

You can prevent that by calling mysql_fetch_array($result,MYSQL_ASSOC) which will return the same result as mysql_fetch_assoc and is extract() friendly.As opposite of mysql_fetch_array:

function mysql_insert_array ($my_table, $my_array) {

$keys = array_keys($my_array);

$values = array_values($my_array);

$sql = 'INSERT INTO '. $my_table . '('. implode(',', $keys) . ') VALUES ("'. implode('","', $values) . '")';

return(mysql_query($sql));

}

#http://www.weberdev.com/get_example-4493.html

?>Here's a quick way to duplicate or clone a record to the same table using only 4 lines of code:

// first, get the highest id number, so we can calc the new id number for the dupe

// second, get the original entity

// third, increment the dupe record id to 1 over the max

// finally insert the new record - voila - 4 lines!

$id_max = mysql_result(mysql_query("SELECT MAX(id) FROM table_name"),0,0) or die("Could not execute query");

$entity = mysql_fetch_array(mysql_query("SELECT * FROM table." WHERE id='$id_original'),MYSQL_ASSOC) or die("Could not select original record"); // MYSQL_ASSOC forces a purely associative array and blocks twin key dupes, vitally, it brings the keys out so they can be used in line 4

$entity["id"]=$id_max+1;

mysql_query("INSERT INTO it_pages (".implode(", ",array_keys($Entity)).") VALUES ('".implode("', '",array_values($Entity))."')");

Really struggled in cracking this nut - maybe there's an easier way out there? Thanks to other posters for providing inspiration. Good luck - TimJust thought I'd share these helper functions that I use to simplify processing of query results a bit:

// For a simple query that should return a single value, this returns just that value (or FALSE) so you can process it immediately

function db_result_single($result) {

return ($row = mysql_fetch_row($result)) && isset($row[0]) ? $row[0] : false;

}

// Returns the rows as an array of rows

// Providing a key_column gives you access to specific rows (e.g. if (isset($result_array[$user_id])) ...)

function db_result_array($result, $key_column = null) {

for ($array = array(); $row = mysql_fetch_assoc($result); isset($row[$key_column]) ? $array[$row[$key_column]] = $row : $array[] = $row);

return $array;

}

// Returns an array of a single column of data that can optionally be keyed from second column (e.g. an array of user names keyed by user id)

function db_result_array_values($result) {

for ($array = array(); $row = mysql_fetch_row($result); isset($row[1]) ? $array[$row[1]] = $row[0] : $array[] = $row[0]);

return $array;

}

?>

Naturally, comments [to my email, not here] are welcome.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
完整版:https://download.csdn.net/download/qq_27595745/89522468 【课程大纲】 1-1 什么是java 1-2 认识java语言 1-3 java平台的体系结构 1-4 java SE环境安装和配置 2-1 java程序简介 2-2 计算机中的程序 2-3 java程序 2-4 java类库组织结构和文档 2-5 java虚拟机简介 2-6 java的垃圾回收器 2-7 java上机练习 3-1 java语言基础入门 3-2 数据的分类 3-3 标识符、关键字和常量 3-4 运算符 3-5 表达式 3-6 顺序结构和选择结构 3-7 循环语句 3-8 跳转语句 3-9 MyEclipse工具介绍 3-10 java基础知识章节练习 4-1 一维数组 4-2 数组应用 4-3 多维数组 4-4 排序算法 4-5 增强for循环 4-6 数组和排序算法章节练习 5-0 抽象和封装 5-1 面向过程的设计思想 5-2 面向对象的设计思想 5-3 抽象 5-4 封装 5-5 属性 5-6 方法的定义 5-7 this关键字 5-8 javaBean 5-9 包 package 5-10 抽象和封装章节练习 6-0 继承和多态 6-1 继承 6-2 object类 6-3 多态 6-4 访问修饰符 6-5 static修饰符 6-6 final修饰符 6-7 abstract修饰符 6-8 接口 6-9 继承和多态 章节练习 7-1 面向对象的分析与设计简介 7-2 对象模型建立 7-3 类之间的关系 7-4 软件的可维护与复用设计原则 7-5 面向对象的设计与分析 章节练习 8-1 内部类与包装器 8-2 对象包装器 8-3 装箱和拆箱 8-4 练习题 9-1 常用类介绍 9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4 使用throw和throws引发异常 10-5 finally关键字 10-6 getMessage和printStackTrace方法 10-7 异常分类 10-8 自定义异常类 10-9 练习题 11-1 Java集合框架和泛型机制 11-2 Collection接口 11-3 Set接口实现类 11-4 List接口实现类 11-5 Map接口 11-6 Collections类 11-7 泛型概述 11-8 练习题 12-1 多线程 12-2 线程的生命周期 12-3 线程的调度和优先级 12-4 线程的同步 12-5 集合类的同步问题 12-6 用Timer类调度任务 12-7 练习题 13-1 Java IO 13-2 Java IO原理 13-3 流类的结构 13-4 文件流 13-5 缓冲流 13-6 转换流 13-7 数据流 13-8 打印流 13-9 对象流 13-10 随机存取文件流 13-11 zip文件流 13-12 练习题 14-1 图形用户界面设计 14-2 事件处理机制 14-3 AWT常用组件 14-4 swing简介 14-5 可视化开发swing组件 14-6 声音的播放和处理 14-7 2D图形的绘制 14-8 练习题 15-1 反射 15-2 使用Java反射机制 15-3 反射与动态代理 15-4 练习题 16-1 Java标注 16-2 JDK内置的基本标注类型 16-3 自定义标注类型 16-4 对标注进行标注 16-5 利用反射获取标注信息 16-6 练习题 17-1 顶目实战1-单机版五子棋游戏 17-2 总体设计 17-3 代码实现 17-4 程序的运行与发布 17-5 手动生成可执行JAR文件 17-6 练习题 18-1 Java数据库编程 18-2 JDBC类和接口 18-3 JDBC操作SQL 18-4 JDBC基本示例 18-5 JDBC应用示例 18-6 练习题 19-1 。。。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值